[Seasar-user:14687] Re: [S2Directory]passwordObjectの取得方法

Jun Futagawa [E-MAIL ADDRESS DELETED]
2008年 6月 13日 (金) 16:50:50 JST


ふたがわです。

On 2008/06/13 13:47,小林正和 wrote:

> 教えていただいた 0.7 の SNAPSHOT をダウンロードして directory.dicon も教えていただいた
> 内容に変更して実行してみた。
> 
> 若干進展しました。

進展あって良かったです。

> 1)
> 以下のコードを実行した場合には、 passwordObject は null が返ってきてしまいます。
> 
> Person person = personDirectoryDao.getByUid("masapon1967");
> PasswordObject passwordObject =
> passwordObjectDirectoryDao.getByDn(person.getDn());
> 
> 以下は、その時のログです。
> 
> DEBUG 2008-06-13 13:00:52,344 [http-8080-2] BEGIN
> exmaple.directorydao.PasswordObjectDirectoryDao#getByDn(uid=masapon1967,ou=People,o=foo.com,o=isp)
> DEBUG 2008-06-13 13:00:52,344 [http-8080-2] Filter:
> (&(objectclass=PasswordObject)(dn=uid=masapon1967,ou=People,o=foo.com,o=isp))
> DEBUG 2008-06-13 13:00:52,359 [http-8080-2] END
> example.directorydao.PasswordObjectDirectoryDao#getByDn(uid=masapon1967,ou=People,o=foo.com,o=isp)
> : null
...
> しかし、passwordExpirationTime が null になっています。実際には パスワード有効期限が
> 入っていることは Apache LDAP Studio で確認しています。

やはり接続設定によるACL(aci)があやしそうな気がします。
Apache LDAP Studioの時の接続設定とdirectory.diconでの設定が
同じようになっているか今一度ご確認ください。

関係しそうなところで、Apache LDAP Studioの設定で、
urlが ldaps:// になってないか、STARTLSを使用する設定になっていないか、
bindDn に違う指定の仕方をしていないか、その他セキュリティ関係のオプションなど。

また、ldapsearch コマンドで次のように実行した時に
passwordExpirationTime が見えるかもご確認ください。

ldapsearch -x -h 'localhost' -p 389 -b 'o=foo.com,o=isp' -s sub -D 'cn=Directory Manager' -W '(uid=masapon1967)'

>> このバージョンが見当たらないですね。。
> iPlanet ではなく、Sun ONE Directory Server 5.2 でした。
> 混乱させてしまい、申し訳ありませんでした。

SunのDownload Centerで、Directory Server 5 2005Q4 (5.2 P6)を
ダウンロードしようと先に進んで、Directory Server 5 2005Q4 Full Installの
ファイルをクリックするとなぜか次のページで
Sun Java Identity Management Suite
をダウンロードすることになっていて環境が作れないでいます。
(Windows, Linux, Solaris(SPARC,x86) いずれでも)

-- 
ふたがわ


Seasar-user メーリングリストの案内