我使用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