您现在的位置: 无忧电子商务网 >> 信息学院 >> 程序开发 >> php >> 正文

用Php如何操作LDAP

作者:佚名    信息学院来源:整理    点击数:    更新时间:2008-2-2 我要参与讨论

 


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的存储规则
区分名(dn,distinguished name)
和自然界中的树不同,文件系统/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—64个字符长
c=country为国家名,可选,为2个字符长

ldap目录以一系列“属性对”的形式来存储记录项,每一个记录项包括属性类型和属性值(这与关系型数据库用行和列来存取数据有根本的不同)。
mail = testmail@mccc.net
othermailbox = testmailother@mccc.com
givenname = givenname
sn = test sn
属性可添加,以下一个属性必须赋值:
objectclass=person (值为:person 或 server 或 organization 或 其

[1] [2] [3] [4] 下一页

在google里搜索更多用Php如何操作LDAP

Google
Web www.51ec.org
  • 上一篇信息学院:

  • 下一篇信息学院:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    我来说两句 对此文章发表了评论
      昵 称: *必填    ·注册用户·
      评 分: 1分 2分 3分 4分 5分     严禁发表危害国家安全、政治、黄色淫秽等内容的评论,用户需对自己在使用本网站服务过程中的行为承担法律责任。本站管理员有权保留或删除评论内容,评论内容只代表机友个人观点,与本网站立场无关。  
    评 论
    内 容

     
    评论列表 (最新 评论仅限网友观点!)

    供求信息




    | 设为首页 | 加入收藏 | 关于我们 | 广告服务 | 联系方式 | 友情链接 | 版权申明