我通过php将以下代码连接到MS AD服务器:
<?php
$login='domain\\username';
$password='somepaswordwithç';
$ldap=ldap_connect("someserver.com");
if ($bind = @ldap_bind($ldap, $login, $password)) {
echo "ok";
}
else{
echo "error while connecting";
}
?>
它适用于其他字符,如+ / - *“',但不适用于ç和其他特殊字符。
在我的原始代码中,我从帖子中获取了值,但是当我将密码放在上面的代码中时问题是一样的。
答案 0 :(得分:1)
它出现了我忘了设置ldap选项:
ldap_set_option($ldap, LDAP_OPT_PROTOCOL_VERSION, 3);
所以正确的代码是:
<?php
$login='domain\\username';
$password='somepaswordwithç';
$ldap=ldap_connect("someserver.com");
ldap_set_option($ldap, LDAP_OPT_PROTOCOL_VERSION, 3);
if ($bind = @ldap_bind($ldap, $login, $password)) {
echo "ok";
}
else{
echo "error while connecting";
}
?>