首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 企业软件 > 行业软件 >

LDAP索引的结构

2013-12-16 
LDAP目录的结构oorgname.com.cnouemployeesouofficeouhroufinanceousales ourdougroupsoucustome

LDAP目录的结构
o=orgname.com.cn ou=employees ou=office ou=hr ou=finance ou=sales ou=rd ou=groups ou=customers ou=china ou=asia ou=europe ou=rooms ou=assets-mgmt ?

?

?

单独的LDAP记录:
DN是LDAP记录项的名字。在LDAP目录中的所有记录项都有一个唯一的“Distinguished Name”,也就是DN。每一个LDAP记录项的DN是由两个部分组成的:相对DN(RDN)和记录在LDAP目录中的位置。

?

RDN是DN中与目录树的结构无关的部分。在LDAP目录中存储的记录项都要有一个名字,这个名字通常存在cn(Common Name)这个属性里。在LDAP中存储的对象都用它们的cn值作为RDN的基础。
完整的DN,比如,为一个员工“张三”设置一个DN:

?

?

cn=zhang san, ou=employees, o=orgname.com.cn(基于姓名)uid=szhang, ou=employees, o=orgname.com.cn(基于登录名,推荐)

?

推荐采用基于登录名的方式设置DN,因为基于姓名这种格式有一个很明显的缺点---如果名字改变了,LDAP的记录就要从一个DN转移到另一个DN,但是,我们应该尽可能地避免改变一个记录项的DN;而大多数单位都会给每一个员工唯一的登录名,因此用这个办法可以很好地保存员工的信息,而不用担心以
后还会有一个叫“张三”的加入,或者“张三”改变了名字,也用不着改变LDAP记录项的DN。

?

?

记录项:
LDAP目录以一系列“属性对”的形式来存储记录项,每一个记录项包括属性类型和属性值(这与关系型数据库用行和列来存取数据有根本的不同)。
例如,机构单位orgname.com.cn的员工“张三”的LDAP记录。这个记录项的格式是LDIF,用来导入和导出LDAP目录的记录项。

?

dn: uid=szhang, ou=employees, o=orgname.com.cn objectclass: person objectclass: organizationalPerson objectclass: inetOrgPerson objectclass: orgnamePerson uid: szhang givenname: zhang sn: san cn: Zhang San cn: Zhang Shan cn: 张三cn: 张总telephonenumber: 8610-82825858 roomnumber: 122G o: orgname, Inc. dept: sales role: salesmanager mailRoutingAddress: szhang@orgname.com.cn mailhost: mail.orgname.com.cn userpassword: {crypt}3x1231v76T89N uidnumber: 1234 gidnumber: 1200 homedirectory: /home/szhang loginshell: /usr/local/bin/sh 

?

LDAP目录可以定制成存储任何文本或二进制数据,到底存什么要由你自己决定。LDAP目录用对象类型(object classes)的概念来定义运行哪一类的对象使用什么属性。在几乎所有的LDAP服务器中,你都要根据自己的需要扩展基本的LDAP目录的功能,创建新的对象类型或者扩展现存的对象类型。
属性的值在保存的时候是保留大小写的,但是在默认情况下搜索的时候是不区分大小写的。某些特殊的属性(例如,password)在搜索的时候需要区分大小写。
请注意LDAP目录被设计成允许某些属性有多个值,如一个员工可能拥有多个名字,可以用其任何一个名字检索都可以找到该员工的电话号码、电子邮件和办公房间号,等等;而不是在每一个属性的后面用逗号把一系列值分开。因为用这样的方式存储数据,所以LDAP目录就有很大的灵活性,不必为加入一些新的数据就重新创建表和索引。更重要的是,LDAP目录不必花费内存或硬盘空间处理“空”域,也就是说,实际上不使用可选择的域也不会花费你任何资源。

热点排行