已经找到了,不过还是有问题:我在配置php.ini时,;Windows Extensions ;Note that MySQL and ODBC support is now built in, so no dll is needed for it. ; extension=php_ldap.dll将其中的Windows扩展php_ldap.dll打开,但出现如下错误,请指教:Unknown(): Unable to load dynamic library 'c:\php4\extensions\php_ldap.dll'-找不到指定的模块。 呵呵,这位老兄,方便的话,Email联系:[email protected]
下面是我测试的代码
我现在也有个问题,就是ldap_compare()怎样用?
php.net上给的例子是ldap较老版本的,目前的不适用,比如说
$filter = "(&(objectclass=*)(cn=ego))";
这就是改过的样式咱们共同探讨把<?PHP
$ldap_host = "192.168.8.140";
$ldap_port = 389;$base_dn = "dc=test,dc=com";
$filter = "(&(objectclass=*)(cn=ego))";$ldap_user = "uid=ego,ou=people,dc=test,dc=com";
$ldap_pass = "abc";$connect = ldap_connect( $ldap_host, $ldap_port)
or exit(">>Could not connect to LDAP server<<");ldap_set_option($connect, LDAP_OPT_PROTOCOL_VERSION, 3);ldap_set_option($connect, LDAP_OPT_REFERRALS, 0);if(ldap_bind($connect, $ldap_user, $ldap_pass)){ $search = ldap_search($connect, $base_dn, $filter) or exit(">>Unable to search ldap server<<");
$read = ldap_read($connect, $base_dn, $filter) or exit(">>Unable to search ldap server<<"); $info = ldap_get_entries($connect, $search); echo "<br>".$info["count"]." entries returned";
echo "<br>userpassword:".$info[0]["userpassword"][0];
echo "<hr>".$info[0]["dn"]."<hr>"; $ii=0;
for ($i=0; $ii<=$info[$i]["count"]; $ii++){
$data = $info[$i][$ii];
echo $data.": ".$info[$i][$data][0]."<br>";
}
// compare value begin
$dn = "uid=ego,ou=people,(dc=test,dc=com)";
$attr = "nihao";
$value = "{crypt}".crypt($attr); echo "{crypt}$1$235tO2Wn$jKWw/5/KGrUQJ08lbAbJo.==".crypt("nihao",substr($mm,0,2))."<br>"; $compare = ldap_compare($connect, $dn, $attr, $value); if ($compare === -1) {
echo "Error: ".ldap_error($connect);
} elseif ($compare === TRUE) {
echo "Password correct.";
} elseif ($compare === FALSE) {
echo "Wrong guess! Password incorrect.";
}//end } else {
echo "Unable to bind to LDAP server.";
}
ldap_close($connect);
?>
;Note that MySQL and ODBC support is now built in, so no dll is needed for it.
;
extension=php_ldap.dll将其中的Windows扩展php_ldap.dll打开,但出现如下错误,请指教:Unknown(): Unable to load dynamic library 'c:\php4\extensions\php_ldap.dll'-找不到指定的模块。
呵呵,这位老兄,方便的话,Email联系:[email protected]
first cn entry is: 钄℃櫠但是,我的php.ini文件中已经设置好中文字符集:
default_mimetype = "text/html"
default_charset = "gb2312"可能是哪方面的原因呢??对了,你的ldap_compare的问题,请参考:
http://www.php.net/manual/zh/function.ldap-compare.php
不知道对你有没有什么帮助?