yii2-adldap не аутентифицирует пользователей AD

Я пытаюсь войти в систему с помощью модуля yii2-adldap, но получаю «Ошибка неверного пароля». Пароль правильный. Вот мой код:

  public function validatePassword($attribute, $params)
{

if (!$this->hasErrors()) {
$user = $this->getUser();
if (!$user) {
$this->addError('username', 'Incorrect username.');
} else {
$userprincipalname = $this->_user->queryLdapUserObject()->getAttribute('userprincipalname');

if(! Yii::$app->ad->auth()->attempt($userprincipalname[0], $this->password)){

$this->addError('password', 'Incorrect password.');
}
}
}
}

И мой getUser ниже:

 public function getUser()
{
if ($this->_user === false) {
$this->_user = \Edvlerblog\Adldap2\model\UserDbLdap::findByUsername($this->username);
}

return $this->_user;
}

0

Решение

Я должен был это увидеть. После тестирования с другим Active Directory я обнаружил, что проблема связана с настройкой моей AD. Вернул мой код к этому, и он работал (для некоторых пользователей):

   public function validatePassword($attribute, $params)
{


if (!$this->hasErrors()) {
$user = $this->getUser();

if (!$user || !$user->validatePassword($this->password)) {
$this->addError($attribute, 'Incorrect username or password.');
}
}

}

Поэтому мне нужно работать с моим системным администратором.
Спасибо.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector