我正在尝试使用
PHP进行LDAP身份验证.
以下是我的代码:
<?php
$ldaphost = 'ldap://ldapServer';
$ldapport = 389;
$ds = ldap_connect($ldaphost, $ldapport)
or die("Could not connect to $ldaphost");
ldap_set_option($ldapconn, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($ldapconn, LDAP_OPT_REFERRALS, 0);
//ldap_set_option($ds, LDAP_OPT_DEBUG_LEVEL, 7);
if ($ds)
{
$username = "testuser@domain.com";
$upasswd = "testpass";
$ldapbind = ldap_bind($ds, $username, $upasswd);
if ($ldapbind)
{print "Congratulations! $username is authenticated.";}
else
{print "Access Denied!";}
}
?>
但它引发了以下错误:
PHP Warning:
ldap_bind()
: Unable to bind to server: Can’t contact LDAP server
任何想法,我怎么能解决它?
注意:当我在某个论坛上遇到这个术语时,我们是否需要ldap.config文件.我的机器上没有看到任何这样的文件.我在ext文件夹中使用php_ldap.dll并使用Windows.
最佳答案 绑定时,不绑定用户名,而是绑定到
DN.
您的$username变量应如下所示:
$username = 'uid=testuser,ou=People,dc=domain,dc=com';