使用PHP连接LDAP服务器

http://tech.ddvip.com   2007年08月27日    社区交流

内容摘要:本文将演示如何使用PHP连接一个LDAP服务器。具体的例子是连接到一个公共的LDAP服务器并且进行搜索。这个例子模拟的是Netscape Communicator 4.*,通过自己的地址本连接到LDAP资源。

  接着,我们使用PHP自带的一个称为sort()的函数进行排序。首个参数是要排序的数组,另一个是要执行的排序类型,该类型是由PHP的文档定义的。由于我们根据字符串排序,我们使用“SORT_STRING”。

  第三,我们循环已经格式化好的数组,并且将它分配给一个名字为$result_list的输出字符,该字符包含了HTML描述。要特别注意的是,在超链接中,我使用的是ldap的URL格式。这个格式的例子类似:HREF="ldap://ldap.domain.net/uid=dannie,dc=domain.net"。

  关闭连接

  现在我们所有的数据已经包含在$result_list中了,我们可以安全地关闭LDAP的连接。

<?php
//关闭连接
ldap_close($connect_id);
?>

  定制搜索界面的HTML表格

  最后,我们要定制搜索用的HTML表格,它是用来给用户执行搜索的。

//定制表格
echo " <CENTER><FORM action='"$PHP_SELF"' method='"GET"'>";
echo "Search in:<SELECT name='"SERVER_ID"'>"; //循环以建立SELECT选项 for($i=0; $i<COUNT($LDAP_NAME); <br $i++)> echo "<OPTION selected value='"$i"'>".$LDAP_NAME[$i]."</OPTION>"; echo "</SELECT>
";
echo "Search for:<INPUT name='"common"' type='"text"'>";
echo "<INPUT name='"lookup"' type='"submit"' value='"go"'>
";
echo "(You can use * for wildcard searches, ex. * Stanley will find all Stanleys)
";
echo "</FORM></CENTER>";
?>

  代码中的$PHP_SELF是一个全局的常量,代表的是脚本页面自身,其中的循环是用来通过我们的$LDAP_NAME变量创建SELECT选项。

责编:豆豆技术应用

正在加载评论...