[Seasar-user:21977] Re: S2Directoryについて

Jun Futagawa [E-MAIL ADDRESS DELETED]
2014年 10月 20日 (月) 17:25:24 JST


ふたがわ (jfut) です。

On 2014/10/20 16:02, tomo wrote:

> SNAPSHOTの確認を行い、TLS接続の件も含め、問題ないことを確認しました。

確認ありがとうございます。

> そこで、一点確認ですが、挿入処理の時にobjectClassにアノテーションで指定していない
> topが自動設定されるのは、S2Directoryの仕様でしょうか。
> (移行元のデータにはtopが設定されていないので、どちらが一般的に正しいのかと。。。)

S2Directory が top を追加しています。

top が必須だと思っていましたが、OpenLDAP へ
top なしでエントリを作ってみると作れたので無くても良いようです。

RFC には、

The objectClass attribute is present in
every entry, with at least two values.  One of the values is either
"top" or "alias".

とあるので、そもそも top 固定もあまり良くないようでした。
これも DirectoryControlProperty へ defaultObjectClass で
指定できるようにし、未設定時のデフォルトは、
<property name="defaultObjectClass ">"top"</property> 相当、
<property name="defaultObjectClass ">""</property> としたら、
何も設定しないというようにするというので如何でしょうか。

https://www.ietf.org/rfc/rfc2256.txt
http://www.openldap.org/lists/openldap-software/200504/msg00226.html

> こちらについて、複数のDirectory Serverへ接続する場合に、
> 各Directory Serverの設定をDirectoryControlPropertyを使用してdirectory.diconへ
> 複数設定できないかと確認したところ、TooManyRegistrationRuntimeExceptionが発生します。
> directorydao.diconの設定を以下のようにすると動作するようになるのですが、
> directorydao.diconの変更点がここだけなのでjarに含まれるファイルで
> 対応することはできないでしょうか。
> (DirectoryControlPropertyを複数指定することについて問題があればダメですが。。。)
> 
> <component class="org.seasar.directory.impl.DirectoryDataSourceFactoryImpl"/>
>> <component class="org.seasar.directory.impl.DirectoryDataSourceFactoryImpl">
> <arg>directoryControlProperty</arg>
> </component>

これは directorydao.dicon の中で、定義されていないかもしれない
directoryControlProperty という名前のコンポーネントを期待することに
なってしまうので、デフォルトとしては設定しない方が良い気がしています。

複数ソースの場合は、directorydao.dicon ごと 2 つ用意して、
そこから incude する directory.dicon も 2 つ用意することになるかと
思いますが、その場合に、それぞれに上記のように
directory1.directoryControlProperty, 
directory2.directoryControlProperty などを
指定する・しないでも上手くいかないでしょうか?

よろしくお願いします。

-- 
Jun Futagawa


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