LDAP基础概念

LDAP基础概念

2023年7月13日发(作者:)

LDAP基础概念1.1、LDAP⽬录结构 此图为树形⽬录结构,我将此跳过去了,因为这个是按照“国家这种结构来划分的”。如果你喜欢这样看更好,如下还有⼀种:

树也可以根据互联⽹域名组主。这种命名⽅式正越来越受欢迎,因为它允许使⽤DNS为⽬录服务定位 。这个LDAP⽬录树中使⽤基于域的命名。⽐较适合我的应⽤场景(从域名-->部门-->个⼈)。1.2、条⽬(Entry)

条⽬(Entry)就是⽬录管理的对象,他是LDAP中最基本的颗粒,就像字典中的词条,或者是数据库中的记录。通常对LDAP的添加、删除、更改、检索都是以条⽬为基本对象的。 每⼀个条⽬都有⼀个唯⼀的标识名(distinguished Name ,DN),⽐如(1.1中图2互联⽹域名树形图):cn=doubao,ou=Ops,dc=shuyun,dc=com。DN在语法上是由多个相对的标识名(distinguished Name ,DN)组成的,他们之间由逗号分隔。如果把DN看做对象的全路径,那么RDN就是其中的每⼀段路径。通过DN的层次型语法结构,可以⽅便地表⽰出条⽬在LDAP树中的位置。有时在不⼀致引起歧义的情况下,RDN也特指DN中最靠前的⼀段,⽽剩余的部分称为⽗标识(Parent DN,PDN)。此处不再举例。RDN本⾝也可以由多个值构成,⽐如OU=Tech+CN=doubao,dc=shuyun,dc=com中的RDN为OU=Tech+CN=doubao,由2个值OU=Tech和CN=doubao组成,他们之间由加好隔开。 如果DN中含有⼀些特殊字符,⽐如:,=+<>;",他们需要转转义符()来帮助表述。1.3、属性(Attribute)

每个条⽬都可以有很多属性(Attribute),⽐如常见的⼈都有姓名、地址、电话等属性。每个属性都有名称及对应的值,属性值可以有单个、多个。⽐如你有多个电话。 LDAP为⼈员组织机构中常见的对象都设计了属性(⽐如commonName,surname)。下⾯有⼀些常⽤的别名(表1-3-1)属性commonNamesurname别名cnsn语法Directory StringDirectory String描述姓名姓单位(部门)名称组织(公司)名称值(举例)doubaoChenorganizationalUnitNameouDirectory StringTechorganizationoDirectory StringshuyuntelephoneNumber

TelephoneNumberDNBinary电话号码110ownerjpegPhoto

该条⽬的拥有者JPEG照⽚cn=doubao,ou=ops,dc=shuyun..1.4、属性类型(AttributeType) 每个属性都有唯⼀的属性类型(AttributeType),属性类型约定属性值的数据格式和语法类型(Syntax)。⽐如,属性cellPhone的类型为telephoneNumber,它规定了电话号码是由数字组成的,其中允许插⼊⼀些分隔符,如连接符、括号、空格等。 属性类型也约定了属性值是否可以有多少个,多值属性类型也可以使⼈员信息的组织变得更加灵活并接近现实情况,⽐如:⼈员的⼿机、地址、邮箱等属性都可以有多个值。这样,⽤ldap组织的信息会⽐简单的表结构更加理想。 类型也规定了属性查询时的匹配规则、排序顺序、⼤⼩写敏感等。1.5、对象类(ObjectClass) 对象类(ObjectClass)是属性的集合,LDAP预想了很多⼈员组织机构中常见的对象,并将其封装成对象类。⽐如⼈员(person)含有姓(sn)、名(cn)、电话(telephoneNumber)、密码(userPassword)等属性,单位职⼯(organizationalPerson)是⼈员(person)的继承类,除了上述属性之外还含有职务(title)、邮政编码(postalCode)、通信地址(postalAddress)等属性。 通过对象类可以⽅便的定义条⽬类型。每个条⽬可以直接继承多个对象类,这样就继承了各种属性。如果2个对象类中有相同的属性,则条⽬继承后只会保留1个属性。对象类同时也规定了那些属性是基本信息,必须含有(Must 活Required,必要属性):哪些属性是扩展信息,可以含有(May或Optional,可选属性)。 对象类有三种类型:结构类型(Structural)、抽象类型(Abstract)和辅助类型(Auxiliary)。结构类型是最基本的类型,它规定了对象⼫体的基本属性,每个条⽬属于且仅属于⼀个结构型对象类。抽象类型可以是结构类型或其他抽象类型⽗类,它公国将对象属性中共性的部分组织在⼀起,称为其他类的模板,条⽬不能直接集成抽象型对象类。辅助类型规定了对象实体的扩展属性。虽然每个条⽶只属于⼀个结构型对象类,但可以同时属于多个辅助型对象类。 对象类本⾝是可以相互继承的,所以对象类的根类是top抽象型对象类。以常⽤的⼈员类型为例,他们的继承关系如图1-5-1:图1-5-1 如果将其中⼀⽀ top-->person-->organizationalPerson-->inetOrgPerson的必要属性和可选属性列表(表1-5-2),就会发现这种设计还是⾮常合理的。我们可以从任何⼀个对象派⽣出⾃⼰的对象类,⽐如organizationalPerson派⽣出职⼯(employee)对象类,那么它可以含有⼯号(employeeNumber)、⼯种(employeeType)等属性。注意,对象类继承的时候会把属性是必须(Must)还是可选(May)的特性也⼀并继承。也就是说person有cn和sn两个Must属性,organizationalPerson和inetOrgPerson由于直接或间接继承了person,也会有这两个Must属性。表1-5-2必要属性(Required)objectClasscnpersonsnuserPassworddestinationIndicator1postalAddressorganizationalPerson⽆preferredDeliveryMethodstreettitleregisteredAddressteletexTerminalIdentifierx121AddresssttelexNumber

facsimileTelephoneNumberoupostalCode

internationalISDNNumberphysicalDeliveryOfficeNamepostOfficeBox对象类可选属性(Optional)top⽆descriptionseeAlsotelephoneNumber对象类必要属性(Required)可选属性(Optional)audiodepartmentNumberbusinessCategorydisplayNamecarLicenseemployNumberemployeeTypehomePostalAddressinetOrgPerson labeledURLmobilephotosecretaryuserOKCS12givenNameinitalsmailopreferredLanguageuiduserSMIMECertificatehomePhonejpegPhotomanagerpagerroomNumberuserCertificatex500UniqueIdentifier1.6、模式(Schema) 对象类(ObjectClass)、属性类型(AttributeType)、语法(Syntax)分别约定了条⽬、属性、值,他们之间的关系如下图所⽰。所以这些构成了模式(Schema),模式中的每⼀个元素都有唯⼀的OID编号,如2.5.4.41.条⽬数据在导⼊时通常需要接受模式检查,它确保了⽬录中所有的条⽬数据结构都是⼀致的。

发布者:admin,转转请注明出处:http://www.yc00.com/news/1689245565a225582.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信