0

我正在编写一个应用程序,通过adLdap库检查用户是否登录。

但问题是当用户输入错误的密码时,在第 4 次之后它会锁定他的帐户。我能做些什么吗?或者这是 LDAP 的工作方式?

这是我正在使用的代码:

public static function checkLogin ($username, $password) {
    $ldap = new adLDAP();
    if ($ldap->authenticate($username, $password)) {
        return true;
    }
    return false;
}
4

2 回答 2

0

锁定帐户的不是 adLDAP 也不是 LDAP。您的网络管理员在 Windows Active Directory 中设置了多个规则,其中之一是在 4 次错误密码尝试后锁定帐户。

这是一项安全功能,只能在 ADUC(Active Directory 用户和计算机)中更改。

于 2014-02-04T14:52:30.337 回答
-1

我从未使用过 LDAP,但我解决了这个问题如下:

在加载站点的索引时,会创建一个 $_SESSION ['count'] 来计算尝试登录的次数。如果在任何时候此次数超过 4 次尝试,我会在数据库上进行 UPDATE 以锁定用户的密码。

请参阅示例:

public static function checkLogin ($username, $password) {
    if($_SESSION['count'] >= 4 || $this->UserLocked()) {
        return false; //User Locked | note that even created a method to check whether the user is locked or not.
    } else {
        $ldap = new adLDAP();
        if ($ldap->authenticate($username, $password)) {
            return true;
        }

        $_SESSION['count']++;

        return false;
    }
}
于 2013-08-14T10:57:17.900 回答