Python の ldap モジュールを使用してユーザー ログインを検証しています。ログインに失敗すると、ldap.INVALID_CREDENTIALS ログインが発生しますが、パスワードが間違っているか、アカウントがロックされている可能性があります。アカウントは 3 回目の試行後にロックされます。
同じ「無効なログイン」メッセージの代わりに、アカウントがロックされていることを検出し、不満を抱いているユーザーに報告したいと思います。
私が見つけた解決策を探しています:
- userAccountControl LOCKED フラグは AD では使用されません。
- 代わりに lockoutTime 属性を使用する必要があります
ロックされたユーザーを見つけるために使用する必要がある LDAP クエリは次のとおりです。
(&(objectClass=user)(lockoutTime>=1))
または特定のユーザーの場合:
(&(objectClass=user)(sAMAccountName=jabberwocky)(lockoutTime>=1))
しかし、これは機能していません。クエリは毎回結果を返しません。