[Seasar-user:21980] Re: S2Directoryについて
Jun Futagawa
[E-MAIL ADDRESS DELETED]
2014年 10月 21日 (火) 14:49:14 JST
ふたがわ (jfut) です。
>> これも DirectoryControlProperty へ defaultObjectClass で
>> 指定できるようにし、未設定時のデフォルトは、
>> <property name="defaultObjectClass ">"top"</property> 相当、
>> <property name="defaultObjectClass ">""</property> としたら、
>> 何も設定しないというようにするというので如何でしょうか。
プロパティ名を abstractObjectClasses にし、DirectoryControlProperty へ
設定できるようにしました。デフォルトではこれまでどおり top が設定されています。
https://github.com/seasarorg/s2directory/blob/master/s2directory/s2-directory-examples/src/main/resources/directory.dicon
https://github.com/seasarorg/s2directory/pull/4
top を追加したくない場合は、
<property name="abstractObjectClasses">new String[] {""}</property>
と設定すると何も追加しません。
Snapshot Repository へデプロイしましたのでお試しください。
http://maven.seasar.org/
ついでに直した別のバグ修正も含んでいます。
https://github.com/seasarorg/s2directory/pull/5
よろしくお願いします。
--
Jun Futagawa
On 2014/10/20 17:51, tomo wrote:
> ふたがわ様
>
> お世話になります。 村瀬です。
>
>
>> これも DirectoryControlProperty へ defaultObjectClass で
>> 指定できるようにし、未設定時のデフォルトは、
>> <property name="defaultObjectClass ">"top"</property> 相当、
>> <property name="defaultObjectClass ">""</property> としたら、
>> 何も設定しないというようにするというので如何でしょうか。
>
> はい、上記の方法でお願いします。
>
>> 複数ソースの場合は、directorydao.dicon ごと 2 つ用意して、
>> そこから incude する directory.dicon も 2 つ用意することになるかと
>> 思いますが、その場合に、それぞれに上記のように
>> directory1.directoryControlProperty,
>> directory2.directoryControlProperty などを
>> 指定する・しないでも上手くいかないでしょうか?
>
> やっぱりそうですか、うすうすはそんなような気がしていました。
> directoryControlProperty のコンポーネント名を固定することは
> やはり問題ですよね。
> 承知しました。 directorydao.dicon、 directory.diconを複数用意する
> 方法を検討します。(2つ用意して接続が成功することには成功しました。)
>
> 以上、よろしくお願いいたします。
>
>
> 2014年10月20日 17:25 Jun Futagawa <jfut @ integ.jp>:
>> ふたがわ (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 メーリングリストの案内