在yii2中登录Ldap

时间:2016-04-04 08:51:36

标签: yii2 yii-extensions yii2-advanced-app yii2-basic-app yii2-model

我想在yii2中执行LDAP登录。

怎么做?

这是LoginForm.php中的功能。

public function authenticate($attribute, $params) {
            if (!$this->hasErrors()) {


           // var_dump($_POST); die;

            define('DOMAIN_FQDN', 'abc.com');
            define('LDAP_SERVER', '192.*.*.*');



            $ldap = ldap_connect(DOMAIN_FQDN);

           // echo  $_POST['LoginForm']['username']; 

            if ($bind = ldap_bind($ldap, $_POST['LoginForm']['username'], $_POST['LoginForm']['password'])) {
                    echo "success";
                    die;
            }
            else{
                    echo "error";
                    die;
            } 

1 个答案:

答案 0 :(得分:2)

我建议您在实施自己的解决方案之前先查看现有解决方案。

查看此库 - Adldap2

以下是验证的一个例子:

try {

    if ($provider->auth()->attempt($username, $password)) {
        // Credentials were correct.
    } else {
        // Credentials were incorrect.
    }

} catch (\Adldap\Exceptions\Auth\UsernameRequiredException $e) {
    // The user didn't supply a username.
} catch (\Adldap\Exceptions\Auth\PasswordRequiredException $e) {
    // The user didn't supply a password.
}

更多信息可以在official docs的自述文件中找到。有关配置的信息可用here

至于您的最新错误,消息已清除 - 请检查您提供的凭据是否正确。