[Seasar-user:14640] [S2Directory]passwordObjectの取得方法
小林正和
[E-MAIL ADDRESS DELETED]
2008年 6月 11日 (水) 12:44:04 JST
お世話になります。小林といいます。
S2Directoryを使用して特定ユーザーのパスワード有効期限を取得したいのですが、
その方法がわかりません。
s2-directory-generator.0.2.jar を使用して作成したエンティティをプロジェクトに
登録し、PersonDirectoryDao を作成することにより、特定uidの Person オブジェクトを
取得することはできました。
Person person = personDao.getByUid("masapon1967"); //person != null でした。
PasswordObject には、オブジェクトを特定するプロパティとして dn があるので
PasswordObjectDirectoryDao インターフェイスに
@Arguments("dn")
PasswordObject getByDn(String dn);
というメソッドを追加したのですが、
DN が uid=masapon1967,ou=People,o=foo,o=isp のPasswordObject を取得するために、
PasswordObject passwordObject =
passwordObjectDao.getByDn("uid=masapon1967,ou=People,o=foo,o=isp");
としたところ、 passwordObject に null が返ってきます。
ちなみにこの場合、ログに Filter:
&((objectClass=passwordObject)(dn=uid=masapon1967,ou=People,o=foo,o=isp))
と表示されます。
Apache LDAP Studio で、フィルタを (&(objectClass=person)(uid=masapon1967))
とし、Returning Attributes を
passwordExpirationTime (passwordObject の属性)にしたところ、passwordExpirationTime に想定した
パスワード有効期限が設定されていることは確認できました。
DN に指定した値に一致する PasswordObject を取得するためには、
どのように指定したらよろしいのでしょうか。
よろしくお願いします。
環境
S2 2.4.25
S2Directory 0.6.1
Tomcat 6.0.16
--
----------------------------------------------
Masakazu Kobayashi
Seasar-user メーリングリストの案内