CAS と LDAP を組み合わせて使用すると、いくつかの問題が発生します。複数のアプリケーションに SSO ソリューションを実装したいと考えています。認証はこれまでのところうまく機能しています。LDAP で構成されているロールに基づいてユーザーを承認したいと考えています。問題は、CAS がユーザーの役割を提供しないことです。
deployerConfigContext.xml
これまでのところ、 を構成する必要があることがわかりました。また、さまざまなチュートリアルも見つけましたが、ほとんどは間違ったバージョンの CAS で動作するか、希望どおりに動作しません。
ユーザーは にありcn=admin,cn=users,dc=manager,dc=local
、グループは にありcn=admins,ou=groups,dc=manager,dc=local
ます。CAS のバージョンは 3.5.2 です
私は次のようなものを挿入しようとしました:
<bean id="attributeRepository" class="org.jasig.services.persondir.support.StubPersonAttributeDao">
<property name="backingMap">
<map>
<entry key="uid" value="uid" />
<entry key="eduPersonAffiliation" value="eduPersonAffiliation" />
<entry key="groupMembership" value="groupMembership" />
</map>
</property>
<property name="query" value="(uid={0})" />
<property name="contextSource" ref="contextSource" />
<property name="ldapAttributesToPortalAttributes">
<map>
<entry key="cn" value="Name" />
<entry key="home" value="homeDirectory" />
</map>
</property>
</bean>
query
CAS は、プロパティ、contextSource
およびが気に入らないと私に言いましたldapAttributesToPortalAttributes
。「単純な」属性 homeDirectory を取得したかったのです。
その邪悪なxmlファイルを構成する方法について、誰かヒントを教えてもらえますか? ご希望であれば、完全な xml ファイルを提供することもできます。
アップデート
attributeRepository
いくつかいじった後、このサイトで as を構成しようとしました: https://wiki.jasig.org/display/CASUM/Attributes in chapter Populate Principal's attributes with LDAP repository
. その結果、CAS は開始されず、代わりにメッセージが表示されます
Bean property 'ldapAttributesToPortalAttributes' is not writable or has an invalid setter method.
私attributeRepository
はこのように見えます:
<bean id="attributeRepository" class="org.jasig.services.persondir.support.ldap.LdapPersonAttributeDao">
<property name="ldapAttributesToPortalAttributes">
<map>
<entry key="cn" value="Name" />
<entry key="home" value="homeDirectory" />
</map>
</property>
</bean>