我在 Yii2 中使用 Adldap 扩展在此处找到:https ://github.com/Adldap2/Adldap2
当我尝试在我的 ldap 服务器上对用户进行身份验证时遇到了问题。我可以成功建立连接并检索用户数据,但是在尝试验证用户的用户名和密码是否正确时,即使凭据错误,它也始终返回 true。下面是我的代码片段(配置数组当然没有显示):
$ad->addProvider($config);
try {
// If a successful connection is made to your server, the provider will be returned.
$provider = $ad->connect();
//User below does return the correct information from the ldap server
$user = $provider->search()->users()->find('quillin');
try{
$provider->auth()->attempt("wrongUsername","wrongPassword");
die("WIN");
}catch( Exception $e ){
die("Exception " . $e);
}
}catch (\Adldap\Auth\BindException $e) {
die( "There was an issue binding / connecting to the server. <br />" . $e);
}
无论我在用户名和密码字段中输入什么,它总是返回 true 并命中 die("WIN"); 线。在我的 composer.json 文件中,我使用的是 "adldap2/adldap2": "v7.0.*"
我还尝试使用以下方法绑定用户:
try{
$provider->auth()->attempt("wrongUsername","wrongPassword", $bindAsUser = true);
die("WIN");
}catch( Exception $e ){
die("lose :(");
die("Exception " . $e);
}
这也总是返回 true;