这是我的代码,它正在正常工作。
$authenticated = ldap_bind($conn, $this->username . "@" . $servidor_dominio, $this->password);
Run Code Online (Sandbox Code Playgroud)
该函数的描述指定它返回 bool。当用户输入不正确的用户名和密码组合时,我从服务器收到错误:
Error 500. ldap_bind(): Unable to bind to server: Invalid credentials
Run Code Online (Sandbox Code Playgroud)
这确实是一个 PHP 警告,但它停止了我的应用程序的执行。它甚至显示堆栈跟踪页面(我正在使用 Yii PHP 框架)。
我尝试捕获异常,将 ldap_bind() 调用放入 try/catch 块中:
try {
$authenticated = ldap_bind($conn, $this->username . "@" . $servidor_dominio, $this->password);
} catch (Exception $exc) {
echo $exc->getTraceAsString();
}
Run Code Online (Sandbox Code Playgroud)
它没有捕获任何异常,但我仍然收到相同的错误:
Error 500 ldap_bind(): Unable to bind to server: Invalid credentials
Run Code Online (Sandbox Code Playgroud)
有人可以帮我弄这个吗?我的用户似乎经常错过输入他们的登录凭据;-)