PHP ldap_bind“异常”

时间:2014-02-12 21:33:46

标签: php yii ldap

这是我的代码,它运作正常。

$authenticated = ldap_bind($conn, $this->username . "@" . $servidor_dominio, $this->password);

此函数的描述指定它返回bool。当用户键入错误的用户名和密码组合时,我从服务器收到错误:

Error 500. ldap_bind(): Unable to bind to server: Invalid credentials

这确实是一个PHP警告,但它会停止执行我的应用程序。它甚至显示了堆栈跟踪页面(我正在使用Yii PHP Framework)。

我尝试捕获异常,将ldap_bind()调用放在try / catch块中:

try {
    $authenticated = ldap_bind($conn, $this->username . "@" . $servidor_dominio, $this->password);
} catch (Exception $exc) {
    echo $exc->getTraceAsString();
}

它没有捕获任何异常,我仍然遇到同样的错误:

Error 500 ldap_bind(): Unable to bind to server: Invalid credentials

有人可以帮我吗?我的用户似乎经常错过他们的登录凭据类型; - )

1 个答案:

答案 0 :(得分:1)

只需在ldap_bind前放置一个@符号,然后使用$ authenticated变量向用户显示正确的身份验证。

$authenticated = @ldap_bind($conn, $this->username . "@" . $servidor_dominio, $this->password);