J2+FDS 環境で Role と Group を取得する。

http://d.hatena.ne.jp/shinsuke_sugaya/20070828/1188256229

に書いた手順でやれば、ユーザでログインはできるのだがいろいろと試すと、ロールとグループが期待通りにとれないことが判明(取ろうと思えばとれるのだけど、ユーザー側の属性として、j2-roleとj2-groupに設定してとることになり、FDS の Group とかで登録している情報が使えない)。というわけで、調べたところ、(バグもあったのだけど)設定方法が分かったので、以下に書いておく。security-spi-ldap.xmlを以下のようにすれば OK。

<!-- The roleMembershipAttributes. -->
<constructor-arg index="9"><value>uniqueMember</value></constructor-arg>
<!-- The userRoleMembershipAttributes. -->
<constructor-arg index="10"><value></value></constructor-arg>
<!-- The groupMembershipAttributes. -->
<constructor-arg index="11"><value>uniqueMember</value></constructor-arg>
<!-- The userGroupMembershipAttributes. -->
<constructor-arg index="12"><value></value></constructor-arg>
<!-- The groupMembershipForRoleAttributes. -->
<constructor-arg index="13"><value>uniqueMember</value></constructor-arg>
<!-- The roleGroupMembershipForRoleAttributes. -->
<constructor-arg index="14"><value></value></constructor-arg>
<!-- The defaultSearchBase. -->
<constructor-arg index="15"><value>dc=hoge,dc=co,dc=jp</value></constructor-arg>
<!-- The roleFilterBase. -->
<constructor-arg index="16"><value>ou=Roles</value></constructor-arg>
<!-- The groupFilterBase. -->
<constructor-arg index="17"><value>ou=Groups</value></constructor-arg>
<!-- The userFilterBase. -->
<constructor-arg index="18"><value>ou=People</value></constructor-arg>

まだ、細かい LDAP 系の話は分からんがちょっと賢くなったかな・・・。バグについても直しておこ。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です