LDAPからユーザーパスワードポリシーを読み込みます(有効期限が切れた場合やパスワードの長さなどの詳細など)。これらの情報が必要なので、私のデータベースに保管されているユーザーに同じポリシーを使用することができます。私のJavaアプリケーションでは、データベースのユーザーはドメインと同期する必要があります。JavaでLDAPパスワードポリシーを読むには
答えて
はい、JNDIを使用できます。ユーザーのコンテキストからpwdPolicySubentry操作属性の値を読み取る必要があります。これにより、pwdPolicyオブジェクトのDNが得られます。次に、属性を持つコンテキストとして検索し、 'pwd'で始まるすべての属性を取得します。ただし、ユーザーにデフォルトのパスワードポリシーが設定されている場合は、DNを見つけるためにLDAPサーバーの設定を確認する必要があります。 OpenLDAPでは、slapd.confのppolicy_default行の 'overlay ppolicy'ディレクティブブロックにあります。
基本的なLDAPサーバーによって異なります。
たとえば、Microsoft Active Directoryを使用している場合、ユーザーエントリの属性はaccountExpires
となり、アカウントの有効期限が切れます。
Active Directoryには、さまざまなアカウント関連の状態を指定するビットマスクであるuserAccountControl
というユーザー属性もあります。たとえば、ビット24が設定されている場合、パスワードが期限切れになったことを意味します(userAccountControl & 0x800000 != 0
)。ビット2は「アカウントが無効になっている」などです。詳しくはhttp://support.microsoft.com/kb/305144をご覧ください。
他のLDAPサーバー(OpenLDAP、ApacheDSなど)については、ドキュメントを参照する必要があります。
通常、これらの状況で懸念される少なくとも3つの異なるものがあります。
アカウントのステータスには、アカウントのロック、有効期限切れ、無効などの情報が含まれます。 アカウント「ステータス」は、通常、MMCアカウントタブに反映されます。 私たちは、LDAP値についての我々のウィキでいくつかの情報を入れて:
http://ldapwiki.willeke.com/wiki/Active%20Directory%20Account%20Lockout と http://ldapwiki.willeke.com/wiki/MMC%20Account%20Tab
パスワードのステータスを、パスワードの有効期限が切れています。
これらの条件のステータスを反映する属性は、ADにリアルタイムで反映されません。一部は、ユーザーが認証しようとしたときにのみ更新されます。 (正常または不成功)。
-jim
あなたはLDAPクエリによってパスワードポリシーを取得したい場合は
現在のドメイン内のPSOポリシーなしでこのを試してみてください
String searchDomain= "DC=company,DC=ORG";
String ldapQuery = "(&(objectClass=domainDNS))";
String ldapAttribute = "maxPwdAge";
あなたはPSOポリシーを使用している場合は、このコードを試してみてください
String domainLookupString = "CN=UsersPSO,CN=Password Settings Container,CN=System,DC=company,DC=ORG";
String ldapFilterString = "(&(objectClass=msDS-PasswordSettings))";
String ldapAttribute = "msDS-MaximumPasswordAge"
- 1. AD/LDAPとPHPパスワードポリシー施行
- 2. バックスラッシュを含むJavaで.CSVを読む
- 3. javaプログラムでxmlを読む
- 4. Javaでjsonファイルを読む
- 5. Java - OpenCVでフレームを読む
- 6. Javaでファイルを読む
- 7. JavaでCDATA XMLを読む
- 8. Javaでコンソールストリングを読む
- 9. JavaでHTTPメッセージを読む
- 10. Javaでリソースを読む
- 11. JavaでXMLファイルを読む
- 12. JavaでXSDファイルを読む
- 13. JavaでJSONファイルを読む
- 14. Java特定の行を読むには
- 15. 読むACLはLinuxマシン上でJava
- 16. nunitを使ってappconfig ldapを読む方法
- 17. CassandraのUDTをSparkで読む(Javaで)
- 18. javaエラーのファイルを読む
- 19. Java-Spring-LDAP-Kerberos
- 20. Java LDAP with SASL
- 21. Java LDAP認証
- 22. 読む私は構造以下含むJavaで.jsonファイルを読むためにトラブルを抱えています
- 23. poiを使ってjavaでexcel(.xlsx)を読むには?
- 24. JavaスクリプトでJSONファイルを読む
- 25. JavaでX.509証明書を読む
- 26. javaでテキストファイルを読む(タブ付き)
- 27. groovy(Java Mail)で電子メールを読む
- 28. SAX Javaパーサーでコメントテキストを読む方法
- 29. metodでBIG txtファイルを読むJAVA
- 30. Java対Pythonでファイルを読む