[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 メーリングリストの案内