Windows上的LDAP身份验证

时间:2012-11-15 09:15:00

标签: php apache authentication ldap

我安装了64位Windows平台和Postgresql 8.4(因为Apache,EnterpriseDB-ApachePHP安装在Pstgres上)..我需要使用Active Directory(或LDAP?)凭据对系统进行身份验证,但即使是艰难的我启用了LDAP和重新启动Apache 错误日志我看到 PHP致命错误:调用路径中的未定义函数ldap_connect()/到/ my / phpfile .. PHP我使用的脚本如下,

<?php

$user = $_POST["myUserName@mydomain.com"];
$pass = $_POST["muPassword"];
//in our system, we already use this account for LDAP authentication on the server above
$ldap_serv = 'ldap://192.168.69.10';
$ldap_port = '389';
$lc = ldap_connect($ldap_serv, $ldap_port);
ldap_set_option($lc, LDAP_OPT_REFERRALS, 0);
ldap_set_option($lc, LDAP_OPT_PROTOCOL_VERSION, 3);
$ldapbind = ldap_bind($lc,$user,$pass);
if ($ldapbind == false) {
  echo 'username or password is wrong';
}
else
{
echo "You Logged in";
echo "<br><br><br>Wellcome<br><br><br>";
}
?>

2 个答案:

答案 0 :(得分:4)

使用LDAP功能需要PHP LDAP扩展。只需在php.ini(extension=php_ldap.dll

中检查它是否已取消注释

答案 1 :(得分:1)

PHP扩展显然没有加载。有几件事要尝试:

  • 从命令行运行'php -m'并确保ldap在模块列表中,并且没有与ldap相关的错误。
  • 确保apache php模块使用你修改过的php.ini(并在页面上查找php.ini)