回复技术提问中的一个问题:php如何读取域用户信息? - PHP进阶讨论
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了回复技术提问中的一个问题:php如何读取域用户信息? - PHP进阶讨论相关的知识,希望对你有一定的参考价值。
问题连接: 问题:php如何读取域用户信息?由于问题已经关闭,只好回答在此处。好像这样可以 ,先把PHP.INI中的ldap那个模块给启用。然后通过 如下代码可以 连接到AD[ol][*][*]$ad = ldap_connect(\"nwtrader.msft\") or??die(\"Couldn\'t connect to AD!\");[*]ldap_set_option($ad, LDAP_OPT_PROTOCOL_VERSION, 3) or die (\"Could not set ldap protocol\"); //针对microsoft的AD 的LDAP的访问协议版本[*]$bd = ldap_bind($ad, $username, $password) or die (\"Could not bind\");//进行登录[*][*]$result = ldap_search($ad, \"OU=Sales,DN=nwtrader,DN=msft\", $filter, $attributes);//搜索nwtrader.msft域下的OU为Sales的成员信息[*]$entries = ldap_get_entries($ad, $result);//得到结果[*]print_r($entries);//显示结果[*]ldap_unbind($ad);//注销[*][*][/ol]
参考技术A 给你一个完整的示例,我自己搭了个AD服务器测试过代码了。可以运行。这段代码将test.local域中,找到OU为“测试组织单元”中找出所有对象,并且发送成CSV文件的例子。另外,AD外围开发应用不是冷门,很多的保险证券银行等金融机构都会部署AD服务,并且将不同的应用与AD集成。同样一套可以集成到AD的应用和不带有AD的应用在价格不是一点点的差距。通过与AD集成还可以开发各种基SHAREPOINT、Exchange等的应用,还可以利用微软的像CRM等等产品,开发工作流等应用。应该说是很有钱途的。$value) ? ?? ???if (!is_array($value)) ? ?? ?? ?? ?? ?continue;? ?? ???? ?? ???echo $value[\'name\'][0], \',\';? ?? ???echo $value[\'mail\'][0], \',\';? ?? ???echo $value[\'mobile\'][0], \',\';? ?? ???echo $value[\'telephonenumber\'][0], \',\'; ? ?? ???echo $value[\'title\'][0], \',\';? ?? ???echo $value[\'physicaldeliveryofficename\'][0], \',\';? ?? ???echo $value[\'company\'][0], \"\\r\\n\";?> 参考技术B 讨论的很热闹啊,补充一下,如果要获取域帐号中二进制信息,必须使用ldap_get_values_len函数,如果用ap_search后再ldap_get_entries是取不到二进制信息的。 参考技术C 我觉得这种冷门函数PHP官方自己也没搞懂吧?功能不全面,手册不详细.以上是关于回复技术提问中的一个问题:php如何读取域用户信息? - PHP进阶讨论的主要内容,如果未能解决你的问题,请参考以下文章