1、LDAP单点登入
1.1LDAP(Lightweight Directory Access Protocol)概念:
LDAP是一种通讯协议,是轻量目录访问协议,支持TCP/IP。而目录是一个为查询、浏览和搜索而优化的
数据库,它成树状结构组织,类似文件目录一样,它有优异的读性能,但写性能差,并没有事务处理、回滚等
功能。
1.2LDAP的基本模型:
1.2.1目录树的概念:
目录树:在一个目录服务系统中,整个目录信息集可以表示为一个目录信息树,树中的每个节点是一个条目。
条目:每个条目就是一条记录,每个条目有自己的唯一可区别的名称(DN)。
对象类:与某个实体类型对应的一组属性,对象类是可以继承的,这样父类的必须属性也会被继承下来。
属性:描述条目的某个方面的信息,一个属性由一个属性类型和一个或多个属性值组成,属性有必须属性和非必须属性。
1.2.2DC、UID、OU、CN、SN、DN、RDN
关键字 英文全称 含义
dc Domain Component 域名的部分,其格式是将完整的域名分成几部分,如域名为example.com变成dc=example,dc=com(一条记录的所属位置)
uid User Id 用户ID songtao.xu(一条记录的ID)
ou Organization Unit 组织单位,组织单位可以包含其他各种对象(包括其他组织单元),如“oa组”(一条记录的所属组织)
cn Common Name 公共名称,如“Thomas Johansson”(一条记录的名称)
sn Surname 姓
dn Distinguished Name “uid=songtao.xu,ou=oa组,dc=example,dc=com”,一条记录的位置(唯一)
rdn Relative dn 相对辨别名,类似于文件系统中的相对路径,它是与目录树结构无关的部分,如“uid=tom”或“cn= Thomas Johansson”
2、LDAP服务端分类:
2.1openLDAP:
openLDAP默认以Berkeley DB作为后端数据库,该数据库主要以散列的数据类型进行数据存储,如以键值对的方式进行存储,
Berkeley DB 是一类特殊的数据库,主要用于搜索、浏览、更新查询操作,一般对于一次写入数据、多次查询和搜索有很好
的效果。Berkeley DB 数据库是面向查询进行优化,面向读取进行优化的数据库。Berkeley DB 不支持事务型数据库(MySQL、
MariDB、Oracle 等)所支持的高并发的吞吐量以及复杂的事务操作。
2.2ApacheDS:除了LDAP协议外,它还支持Kerberos 5与更改密码协议,并且增加了触发器、存储过程、队列以及视图这些LDAP所
缺少的结构。
3.SSO单点登入的步骤:
解释:SSO是指在多个应用系统中,用户只需登入一次就可访问所有相互信任的应用系统。可以分为两大类:同域SSO与跨域SSO,其中
同域SSO又可分为完全同域SSO与同父域SSO。
a、用户登入系统,该应用系统自动将用户浏览器重定向到“统一身份认证服务”登入页面,并传递service参数(用户最初访问的url地址)。
接着,“统一身份认证服务”根据用户填写的登入信息从LDAP目录服务器中检索校验,若成功则返回最初登入地址。
b、认证成功,在返回最初登入地址时传递ticket参数,该参数由“统一身份认证服务”自动随机创建,ticket值与当前已成功认证的用户名
绑定,且ticket使用一次即作废。
c、应用系统在收到ticket参数后验证其真伪,防止某些用户伪造ticket参数非法登入。这次为了提高响应速度,直接使用Socket(套接字)
直接建立http连接。“统一身份认证服务”会将收到的ticket参数值与先前创建的ticket参数值进行比较。
4.LDAP基本模型:
4.1数据模型
4.2命名模型
4.3功能模型
4.4安全模型