| 网站首页 | 硬件维修 | 应用学院 | 网络组建 | 网站制作 | 菜鸟黑客 | 编程之道 | 数码大全 | 娱乐休闲 | 软件下载 | 在线视频 | 请您留言 | 技术论坛 | 
专 题 栏 目
最 新 热 门
最 新 推 荐
相 关 文 章
  • 完美解决一个事件激活多个函…

  • 完美解决一个事件激活多个函…

  • 用javascript绘图—JS2D…

  • 在客户端设置cooke和获取coo…

  • 一个解析URL及图片地址的JS函…

  • 用javascript绘图—JS2D…

  • 一行代码生成Google SiteMap

  • 利用Yahoo! Search API开发自…

  • IE支持的html元素的disable在…

  • CSS在IE和Nascape的显示差别

  • Q
    您现在的位置: 我是IT人 >> 网站制作 >> php >> 文章正文
    LDAP 目录协议函数库         
    LDAP 目录协议函数库
    作者:网络 文章来源:转载 点击数: 更新时间:2005-8-13
    [ 字体:缩小 正常 放大 | 双击自动滚屏 ]
    请选择合适的字体颜色:

    LDAP (Lightweight Directory Access Protocol) 是一种轻量的目录存取协议,提供客户从各个角落连接到目录服务器中。在 RFC 1777 及 RFC 1778 中对 LDAP 有较深入的描述,亦可参考 Netscape 站上有关 LDAP 方面的资料。

    在 LDAP 的协议之中,很像硬盘目录结构或倒过来的树状结构。LDAP 的根就是全世界,第一级是属于国别 (countries) 性质的层级,之后可能会有公司 (organization) 的层级,接着是部门 (organizationalUnit),再来为个人。而就像文件,每个人都会有所谓的显名 (distinguished name, 简称 dn),dn 可能像酱子 cn=John Smith,ou=Accounts,o=My Company,c=US。

    <?php
    // 本例使用到 connect, bind, search, interpret search
    // result, close connection 等等 LDAP 的功能。
    echo "<h3>LDAP 搜寻测试</h3>" ;
    echo "连接中 ..." ;
    $ds = ldap_connect ( "localhost" ); // 先连上有效的 LDAP 服务器
    echo "连上 " . $ds . "<p>" ;

    if ( $ds ) {
    echo "Binding ..." ;
    $r = ldap_bind ( $ds ); // 匿名的 bind,为只读属性
    echo "Bind 返回 " . $r . "<p>" ;
    echo "Searching for (sn=S*) ..." ; // 找寻 S 开头的姓氏
    $sr = ldap_search ( $ds , "o=My Company, c=US" , "sn=S*" );
    echo "Search 返回 " . $sr . "<p>" ;
    echo "S 开头的姓氏有 " . ldap_count_entries ( $ds , $sr ). " 个<p>" ;
    echo "取回姓氏资料 ...<p>" ;
    $info = ldap_get_entries ( $ds , $sr );
    echo "资料返回 " . $info [ "count" ]. " 笔:<p>" ;
    for ( $i = 0 ; $i < $info [ "count" ]; $i ++) {
    echo "dn 为: " . $info [ $i ][ "dn" ] . "<br>" ;
    echo "cn 为: " . $info [ $i ][ "cn" ][ 0 ] . "<br>" ;
    echo "email 为: " . $info [ $i ][ "mail" ][ 0 ] . "<p>" ;
    }
    echo "关闭链接" ;
    ldap_close ( $ds );
    } else {
    echo "<h4>无法连接到 LDAP 服务器</h4>" ;
    }
    ?>

    欲使用 LDAP 服务器功能要先在 Web 服务器安装 LDAP 客户端程序,较着名的有美国密西根大学的 ldap-3.3 套件或者是 Netscape 的 Directory SDK。可到下列网址找回来安装

    • Netscape http://developer.netscape.com/tech/directory/
    • 密西根大学 http://www.umich.edu/~dirsvcs/ldap/index.html
    • OpenLDAP 计划 http://www.openldap.com
    • LDAP World http://elvira.innosoft.com/ldapworld


    ldap_add: 增加 LDAP 名录的条目。
    ldap_mod_add: 增加 LDAP 名录的属性。
    ldap_mod_del: 删除 LDAP 名录的属性。
    ldap_mod_replace: 新的 LDAP 名录取代旧属性。
    ldap_bind: 系住 LDAP 目录。
    ldap_close: 结束 LDAP 链接。
    ldap_connect: 连上 LDAP 服务器
    ldap_count_entries: 搜寻结果的数目。
    ldap_delete: 删除指定资源。
    ldap_dn2ufn: 将 dn 转成易读的名字。
    ldap_explode_dn: 切开 dn 的字段。
    ldap_first_attribute: 取得第一笔资源的属性。
    ldap_first_entry: 取得第一笔结果代号。
    ldap_free_result: 释放返回资料内存
    ldap_get_attributes: 取得返回资料的属性。
    ldap_get_dn: 取得 DN 值。
    ldap_get_entries: 取得全部返回资料。
    ldap_get_values: 取得全部返回值。
    ldap_list: 列出简表。
    ldap_modify: 改变 LDAP 名录的属性。
    ldap_next_attribute: 取得返回资料的下笔属性。
    ldap_next_entry: 取得下一笔结果代号。
    ldap_read: 取得目前的资料属性。
    ldap_search: 列出树状简表。
    ldap_unbind: 结束 LDAP 链接。

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

    文章录入:小秦    责任编辑:小秦 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    | 设为首页 | 加入收藏 | 联系站长 | 关于我们 | 友情链接 | 版权申明 |