用PHP如何操作LDAP

1
LDAP是什么LDAP是一个用来发布目录信息到许多不同资源的协议。通常它都作为一个集中的地址本使用,不过根据组织者的需要,它可以做得更加强大。
LDAP最基本的形式是一个连接数据库的标准方式。该数据库为读查询作了优化。因此它可以很快地得到查询结果,不过在其它方面,例如更新,就慢得多。要非凡注重的是,LDAP通常作为一个hierarchal数据库使用,而不是一个关系数据库。因此,它的结构用树来表示比用表格好。正因为这样,就不能用SQL语句了。
简单说来,LDAP是一个得到关于人或者资源的集中、静态数据的快速方式。LDAP是轻量目录访问协议(Lightweight
Directory Access
Protocol)的缩写,其实是一话号码簿,类似于我们所使用诸如NIS(Network
Information Service)、DNS (Domain Name
Service)等网络目录,也类似于你在花园中所看到的树木。LDAP是一种非凡的数据库。但是LDAP和一般的数据库不同,明白这一点是很重要的。
LDAP对查询进行了优化,与写性能相比LDAP的读性能要优秀很多。1.1
LDAP的存储规则区分名和自然界中的树不同,文件系统/LDAP/电话号码簿目录的每一片枝叶都至少有一个独一无二的属性,这一属性可以帮助我们来区别这些枝叶。在文件系统中,
这些独一无二的属性就是带有完整路径的文件名。比如/etc/passwd,该文件名在该路径下是独一无二的。当然我们可以有/usr/passwd,
/opt/passwd,但是根据它们的完整路径,它们仍然是唯一的。在LDAP中,一个条目的区分名称叫做dn或者叫做区分名。在一个目录中这个名称总是唯一的。比如,我的dn是uid=aghaffar,
ou=People,
o=developer.ch。不可能有相同的dn,但是我们可以有诸如uid=aghaffar,
ou=Administrators, o=developer.ch的dn。这同上面文件系统中/etc/passwd 和
/usr/passwd的例子很类似。我们有独一无二的属性,在ou=Administrators,
o=developer.ch 中uid和在ou=People,
o=developer.ch中的uid。这并不矛盾。CN=Common Name
为用户名或服务器名,最长可以到80个字符,可以为中文;OU=Organization
Unit为组织单元,最多可以有四级,每级最长32个字符,可以为中文;O=Organization
为组织名,可以3

发表评论

电子邮件地址不会被公开。 必填项已用*标注