LDAP简介

    LDAP Light Directory Access Protocol )即轻量级目录访问协议,目前LDAP 服务器的实现有多种,如Oracle Directory ServerOpenDSApacheDS 等,本文中使用的服务器为ApacheDS ,可视化的管理工具为Apache Directory Studio ,官方下载地址:http://directory.apache.org/。

 

       本文主要介绍LDAP中的条目(Entry),关于LDAP更详细的介绍参见这篇文章:http://www.iteye.com/topic/167125

 

LDAP 服务器中的数据是以树状结构组织的,树状结构中的每一个节点称之为条目(Entry, 每个条目由诸多属性及属性值组成,如下图所示:


LDAP简介_第1张图片

 

图中左侧窗口展示的是整个LDAP 服务器的树状结构,右侧是某条目的具体内容,每个条目都有一个可用于区别树中其他条目的名称,称为DNDistinguished Name ),每个DN 是由条目自身名称(RDN )和其父亲DNBaseDN )组成,如上图右侧显示的条目,其DN: cn=Cornelius Buckley,ou=people,o=sevenSeasRDNcn=Cornelius BuckleyBaseDNou=people,o=sevenSeas ,从条目的DN 名称也能看出条目在树中的位置。

 

既然条目是由属性构成的,那么,一个条目需要定义哪些属性呢?

 

每个条目都必须有若干objectClass 属性,objectClass 属性的值是LDAP 服务器中已经定义好了某个Schema 的名称,每个Schema 都定义了一些必选属性、可选属性等,以person 这个Schema 为例,其定义如下图所示:


LDAP简介_第2张图片

每个条目必须定义其对应Schema 的必选属性,Schema 的可选属性对于条目来说也是可选的,条目不可以定义除必选属性和可选属性之外的其他任何属性。所以,一个定义了objectClass=person 的条目,必须定义的属性有cnsn ,可有可无的属性有descriptionseeAlsotelephoneNumberuserPassword

 

条目的属性名称都是有其字面含义的,如果由于部分属性采用了简写形式而显得不那么直观,尤其对于初学者来说,下面列出了几个常用的简写属性的意义:

o organizationName

ou organizationalUnitName

cn commonName

sn surname

dc domainComponent

uid userID

 

以上属性都能从Schema 定义中查出来。

 

 

你可能感兴趣的:(java,JNDI,LDAP)