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

Jun Futagawa [E-MAIL ADDRESS DELETED]
2008年 6月 12日 (木) 09:05:05 JST


ふたがわ (jfut) です。

On 2008/06/11 18:23,小林正和 wrote:

>> 1. エンティティで検索してみる
>> PasswordObject search = new PasswordObject();
>> search.setDn("uid=masapon1967,ou=People,o=foo,o=isp");
>> PasswordObject passwordObject = passwordObjectDao.getPasswordObject(search);
> を実行してみましたが、以下のような例外が発生しました。
> 
> [DIR0001]javax.naming.NameNotFoundException: [LDAP: error code 32 - No
> Such Object];
> remaining name 'ou=People,o=foo,o=isp'

DNを指定した場合、FilterはDNを使うため、この例外は出なさそうなのですが、
PasswordObjectDirectoryDao と PasswordObject を見せていただけますでしょうか。

FilterにDNが使われた場合、ログには次のようにFilterの最後に [DN] と出力されます。
DEBUG 2008-06-12 08:47:30,838 [main] Filter: uid=user1,ou=Users,dc=seasar,dc=org [DN]

また、ここでDNによる検索でエントリが見つからず、

>> 2. PasswordObject以外に別のエントリを特定するプロパティを追加する
...
>> 逆に Person エンティティ に オブジェクトクラス PasswordObject が持つ属性用の
>> プロパティを足しても構いません。
> ということなので、
> Person クラスに passwordExpirationTime プロパティを追加して
> Person person = personDirectoryDao.getByUid("masapon1967");
> を呼び出しました。
> person は null ではありませんでしたが、passwordExpirationTime は
> null になっていました。

これで person が null ではないので、person.getDn(); を出力すると、
ou=People,o=foo,o=isp と違う値が出ませんでしょうか。

>> それでも上手くいかない場合、ディレクトリサーバに設定されているACLに対して
>> directory.dicon で定義している接続用の user と password 設定が適切では
>> ないのではないかと思います(アクセス権限不足)。
> directory.dicon で定義している接続用の user と password で Apache LDAP Studio
> を使用してアクセスしているのですが、
>>> Apache LDAP Studio で、フィルタを (&(objectClass=person)(uid=masapon1967))
>>> とし、Returning Attributes を
>>> passwordExpirationTime (passwordObject の属性)にしたところ、passwordExpirationTime に想定した
>>> パスワード有効期限が設定されていることは確認できました。
> ので、 この user でアクセス権限があるのではと考えています。

Apache LDAP Studioでの接続設定で、Encryption method と
Authentication Method は何を指定していますでしょうか。
サーバの種類やACLの設定によっては接続方法によって、
パスワード関係のエントリを操作できないものがあり、
directory.dicon での設定と違う接続の仕方をしているかもしれません。

directory.dicon の password 部分を隠したものを見せていただけると
何か判るかもしれません。

>> ディレクトリサーバは、iPlanet Directory Serverでしょうか?
>> 参考までにバージョンも教えてください。
> はい、iPlanet Directory Server です。バージョンは不明なので、
> 明日担当に聞いてみます。

お願いします。ダウンロードできるバージョンであれば、
同じ環境を用意してみようと思います。

よろしくお願いします。

-- 
ふたがわ


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