Hi,

I'm trying to do something CAS server maybe isn't able to. I've got users in an ldap branch (one OU), these users are populated with some informations (surname, givenName, phones, email addresses, intern attributes, etc.), and I would like to add to these returned attributes, user's groups membership, by doing a request in another branch. I succeeded if the user is in only one group, but when it's in several, the LdapPersonAttributeDAO fails (because it only wants unique results). How can I do this ? Creating a specific DAO ? or configuration can achieve this ?

My configuration :
CAS Server 3.3.1 with ldap support
CAS Client 3.1.3

deployerConfigContext.xml
<bean id="attributeRepository"
class="org.jasig.services.persondir.support.ldap.LdapPersonAttributeDao">
<property name="baseDN"
            value="ou=Utilisateurs,dc=smacl,dc=lan" />

<property name="query" value="(uid={0})" />

<property name="contextSource" ref="contextSource" />
<property name="ldapAttributesToPortalAttributes">
<map>
<entry value="prenom" key="givenname" />
<entry value="nom" key="sn" />
<entry value="mail" key="mail" />
</map>
</property>
</bean>

I used Merging DAO and added another ldap person dao configured like this :
<bean id="attributeRepository"
class="org.jasig.services.persondir.support.ldap.LdapPersonAttributeDao">
<property name="baseDN"
            value="ou=Groupes,dc=smacl,dc=lan" />

<property name="query" value="(memberUid={0})" />

<property name="contextSource" ref="contextSource" />
<property name="ldapAttributesToPortalAttributes">
<map>
<entry value="cn" key="cn" />
</map>
</property>
</bean>

With memberUid query, I've got the correct result... when there is only one result.

Thanks in advance for your help
Olivier.



--
You are currently subscribed to [email protected] as: 
[email protected]
To unsubscribe, change settings or access archives, see 
http://www.ja-sig.org/wiki/display/JSG/cas-user

Reply via email to