• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: 小 中 大 | 推荐给好友 上一篇 | 下一篇

PHP中的LDAP功能函

发布: 2007-6-21 15:32 | 作者:   | 来源:   | 查看: 37次 | 进入软件测试论坛讨论

领测软件测试网

   
一、LDAP简介

LDAP是轻量级目录访问协议,应用于目录服务中.目录是一种特殊的数据库,它
将数据信息保存在一个树状结构中。这种结构和计算机硬盘的目录结构相似。在

一个全球的目录中,根目录就是整个世界,第一级子目录就是各个国家.底一级
的目录结构中就包含有记录公司、组织或者地方的相关信息的目录项。更低一级
的目录结构中的目录项就可以记录个人、设备或者文档的信息.
为了访问存放在硬盘上一个子目录中的文件,可能要用到下面的引用方法:
/usr/local/myapp/docs
上面的引用方法是用"/"将目录节点分开,读的顺序是从左到右.
与访问文件的引用方法相对应,访问一个LDAP目录中的目录项的引用就是可区分
名(distinguished name),简写为"DN".下面就是一个例子:
cn=John Smith,ou=Accounts,o=My Company,c=US
上面的引用方法是用逗号来将各个目录节点分开,读的顺序是从右到左,就象下
面的读法:
country = US
organization = My Company
organizationalUnit = Accounts
commonName = John Smith
就象没有规定死的规则来组织硬盘上的目录结构一样,在一个目录服务器可以建立
很多符合目的要求的信息模型结构,但是建立信息模型结构是要有一定的约定.这
就是说,如果要写出访问目录服务器中信息的代码,就必需了解目录服务器中的信
息模型结构,这和使用数据库进行开发是一样的道理.

完整的例子
例子是从目录服务器中检索出属性"sn"以"S"为第一个字母的所有目录项,并显
示目录项中"cn"和"mail"属性的属性值.
Example 1. LDAP search example
t?php
// basic sequence with LDAP is connect, bind, search, interpret search
// result, close connection
echo "th3>LDAP query testt/h3>";
echo "Connecting ...";
$ds=ldap_connect("localhost"); // must be a valid LDAP server!
echo "connect result is ".$ds."tp>";
if ($ds) {
echo "Binding ...";
$r=ldap_bind($ds); // this is an "anonymous" bind, typically
// read-only access echo "Bind result is
echo "Bind result is ".$r."tp>";
echo "Searching for (sn=S*) ...";
// Search surname entry
$sr=ldap_search($ds,"o=My Company, c=US", "sn=S*");
echo "Search result is ".$sr."tp>";
echo "Number of entires returned is ".ldap_count_entries($ds,$sr)."tp>";
echo "Getting entries ...tp>";
$info = ldap_get_entries($ds, $sr);
echo "Data for ".$info["count"]." items returned:tp>";
for ($i=0; $i<$info["count"]; $i++) {
echo "dn is: ". $info[$i]["dn"] ."tbr>";
echo "first cn entry is: ". $info[$i]["cn"][ 0] ."tbr>";
echo "first email entry is: ". $info[$i]["mail"][ 0] ."tp>";
}
echo "Closing connection";
ldap_close($ds);
} else {
echo "th4>Unable to connect to LDAP servert/h4>";
}
?>

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:[email protected] 电话:010-51297073

软件测试 | 领测国际 | ISTQB | ISTQB官网 | TMMi | TMMi认证 | 国际软件测试工程师认证 | 领测软件测试网