у меня сейчас проблемы с 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>
CAS сказал мне, что ему не нравятся свойства query
, contextSource
и ldapAttributesToPortalAttributes
. Я хотел получить «простой» атрибут homeDirectory.
Может ли кто-нибудь из вас дать мне совет, как настроить этот злой XML-файл? Если хотите, я также могу предоставить полный файл xml.
ОБНОВЛЕНИЕ
Немного повозившись, я попытался настроить attributeRepository
, как на этом сайте: https://wiki.jasig.org/display/CASUM/Attributes в главе 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>