我使用python的ldap模块验证用户登录。 当登录失败时,我得到一个ldap.INVALID_CREDENTIALS登录,但是这可能是因为密码错误或帐户被锁定。帐户在第三次尝试后锁定。检测Active Directory用户帐户是否在Python中使用LDAP进行锁定
我想检测到帐户已被锁定,并向受挫用户报告,而不是相同的“无效登录”消息。
在搜索中的溶液,我发现:
- 的userAccountControl的LOCKED标志不使用AD;
- 的lockoutTime属性应改为使用
,我应该使用查找锁定用户的LDAP查询:
(&(objectClass=user)(lockoutTime>=1))
或特定用户:
(&(objectClass=user)(sAMAccountName=jabberwocky)(lockoutTime>=1))
但这不起作用,查询不会每次都返回结果。
我得到'ldap.FILTER_ERROR:{“递减”:“坏搜索过滤器”} '如果使用'(!lockoutTime = 0 )',甚至'(lockoutTime> 0)'。只有'(!lockoutTime> = 1)'似乎可以避免这种情况。 – 2013-01-31 16:38:24