LDAP的功能模型

一、LDAP信息模型
    LDAP信息模型定义了在目录中保存信息的最基本的单位和数据类型。目录中的最基本的信息单位是条目(Entry)。条目由一系列的属性(Attribute)构成,一个属性可以有多个值(Value)。条目的结构在Schema中定义。Schema可以定义一类条目必须属性和可选属性,以及各个属性的类型和比较方法。
二、LDAP命名模型
    LDAP命名模型定义了如果组织和查询目录中的数据。命名模型为每一个Entry指定了唯一的识别名(DN/Distinguished Name),如:uid=name,ou=people,dc=example,dc=com(','后可以跟空格,不影响DN的值)。DN中最左边的值为相对识别名(RDN/Relative Distinguished Name)。虽然DN在目录中必须是唯一的,但是在不同的目录中可以有相同RDN的Entry。
    别名,通过建立Object Class为alias的Entry,可以为目录建别名。但不建议使用。
    DN中的特殊字符(,)应该在之前加反斜杠(/)。
特殊字符表
特殊字符ASII码使用值
DN、RDN前后的空格32/<space>
DN、RDN前后的井号(#)35/#
逗号(,)
44/,
加号(+)43/+
双引号(")34/"
反斜杠(/)92//
小于号(<)60/<
大于号(>)62/>
分号(;)
59/;
























 
三、LDAP功能模型
    功能模型中定义了一系列利用LDAP协议的操作。它包含了三个部分:
        1)、查询操作(Interrogation Operations):容许查询目录和取得数据。它包含Search Operating和Compare Operation。
        2)、更新操作(Update Operations):容许添加(ADD)、删除(Delete)、重命名(Rename)和改变目录(Modify)。
        3)、认证和管理操作(Authentication And Control Operations)容许客户端在目录中识别自己,并且能够控制一个Session的性质。
    1、The LDAP Search Operation
        The LDAP Search Operation被用来查询目录中的Entry和取得目录中的Entry。它需要8个参数:
            1)、Base Object for the Search:包含指定需要查询目录的根Entry的DN。
            2)、Search Scope:指定查询的范围,可能包含sub,onelevel和base。sub指查询Base Object指定的所有子目录,包括根目录;onelevel指仅仅查询根目录的下一层目录;base只查询根目录本身。
            3)、Alias Dereferencing Options:指定查询时如何处理别名,可能包含neverDerefAliases,derefInSearching,derefFindingBaseObject,derefAlways。neverDerefAliases指在查询和定位中考虑别名;derefInSearching指定位Base Object时考虑别名,但查询子目录时不考虑;derefFindingBaseObject指定位Base Object时不考虑别名,但查询子目录时考虑;derefAlways指在查询和定位中都不考虑别名。
            4)、Size Limit:返回Entry的最大个数。如实际检索结果多于Size Limit,就只返回前Size Limit个Entry,并返回LDAP_SIZELIMIT_EXCEEDED。如Size Limit值为0,表示接受所有检索结果。但服务器设定的上限,不能通过这个属性修改。
            5)、Time Limit:应答查询消息的最大秒数。如超时应返回LDAP_TIMELIMIT_EXCEEDED。值为0表示没有限制。
            6)、Attributes-only Parameter:如这个字段被设置为TRUE,那么仅返回属性的类型,而不返回值。如为False,则类型和值都返回。
            7)、Search Filter:返回的Entry的类型。
            8)、List of Attributes to Return:返回属性的类型,如为空或*,则返回所有属性。
    2、The Compare Operation
        这个操作被用来验证一个Entry是否存在。如果客户端提供的DN,和属性值存在就返回一个肯定的回复,否则返回一个否定的回复。这个操作只有在以下的情况下和Search Operation反映不一样。当提供的Comparison中的一个属性,在这个Entry中存在时,Compare Operation会返回一个特定的回复表示这个属性不存在,而Search Operation不会做特殊的处理。
    3、The Add Operation
        添加错误容许创建一个新的Directory Entry。它有两个参数:DN和属性集。添加一个Entry时必须满足以下四个条件:
            1)、新Entry的父Entry必须已经在目录中存在。
            2)、提供的DN必须唯一。
            3)、新Entry必须符合有效的Schema。
            4)、访问控制必须容许这个操作。
    4、The Delete Operation
        删除操作容许从目录中删除一个Entry。它只有一个参数:DN。删除一个Entry必须满足以下三个条件:
            1)、被删除的Entry必须已经存在。
            2)、被删除的Entry必须没有子对象。
            3)、访问控制必须容许这个操作。
    5、The Rename(Modify DN) Operation
        重命名操作容许修改Entry的名字,或在目录中移动Entry。它有四个参数:被操作Entry的DN,新的RDN,可选新父Entry的DN,Delete-Old-RDN标志。重命名一个Entry必须满足以下三个条件:
            1)、被操作的Entry必须存在。
            2)、新的DN必须唯一。
            3)、访问控制必须容许这个操作。
        如果只是重命名,不改变目录,就将new-parent空着。delete-old-RDN是一个boolean型的标志,表示重命名后旧的RDN是否需要继续保存在Entry中。
        LDAPv2只有修改RDN的操作,没有修改DN的操作。
    6、The Modify Operation
        修改操作容许更新一个已存在的Entry。它有两个参数:被修改Entry的DN和修改的属性集。修改操作能够给Entry的属性添加新的属性值,删除一个属性的值,将一些属性的值更新为新的值。修改一个Entry必须满足以下两个条件:
            1)、被修改的Entry必须存在。
            2)、所有属性的修改操作必须全部成功。
            3)、修改后的Entry必须符合Schema。
            4)、访问控制必须容许这个操作。
        所有的属性的修改必须全部成功,否则整个Entry都不会被修改。
    7、The Bind Operation
        通过提供DN和证书,一个客户端可以使用Bind操作认证自己。服务器判断客户端提供的DN和证书是否正确,如正确服务器就提供给客户端一定的权限。
    8、The Unbind Operation
        当客户端调用Unbind操作时,服务器会丢弃所有客户端的证书,停止与客户端的连接,中止所有操作。
    9、The Abandon Operation
        Abandon操作只有一个参数:将被丢弃的LDAP操作的Message ID。当客户端不再希望取得指定操作的结果时,调用Abandon操作。
四、LDAP安全模型
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值