[Seasar-user:9189] Re: [S2Directory]ユーザ名の半角スペースが""に置き換えられる

Jun Futagawa [E-MAIL ADDRESS DELETED]
2007年 7月 17日 (火) 17:38:05 JST


ふたがわです。

On 2007/07/17 15:46,Taro Unno wrote:

> S2Directory 0.5で、directory.diconのuserの
> 接続ユーザ名に半角スペースを指定した場合、
> 接続時に""に置き換えられてしまいます。

ご指摘ありがとうございます。これはとてもダメな動作でした。

> 例)
> <property name="user">"cn=Sub Manager"</property>
> と定義しても、実行時に"cn=SubManager"と置き換えられる。
> 
> 調べてみたところ、
> org.seasar.directory.util.DirectoryDataSourceUtilsクラスの
> setupDirectoryControlProperty(DirectoryControlProperty property)メソッドで
>    property.setUser(property.getUser().replaceAll("[ \t]", ""));
> としているため、半角スペースと水平タブは意図的に""に置き換えている
> のだと思います。(何か理由があるのだと思っています。)

こうしていた意図はbaseDNが指定されたuserDNに含まれている時は
baseDNを付け足さないために、文字列を比較できるようにスペースと
タブを無視したかったからなのですが、実際にはそもそもこの動作も
正しく機能していませんでした。。

よくよく考えるとスペースとタブを除外する必要もないので、せっかく正規表現で
上手く動作するソースをお送りいただいたところ申し訳ありませんが、
userDNとbaseDNに手を加えないで比較するように修正しました。

また、本来機能させたかったbaseDNが指定されたuserDNに含まれている時に
baseDNを付け足さない動作をするよう修正しました。

本件2件の修正を反映した0.5.1をリリースしました。
http://s2directory.sandbox.seasar.org/ja/
この修正に問題がありましたらお知らせください。

今後ともどうぞよろしくお願いします。

-- 
ふたがわ


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