[cas-dev] LdapPersonAttributeDao query Principal ID substitution
Sean R. McNamara
sean.r.mcnamara at Dartmouth.EDU
Thu May 8 13:33:47 EDT 2008
Hello All,
I've been working on converting all our custom Principals to use the
Directory Person model -- the main goal being to get access to
additional Principal attributes from our custom directory software. I'm
basing the attribute resolution code loosely on the
org.jasig.services.persondir.support.ldap.LdapPersonAttributeDao , but I
can't seem to figure out exactly where or how the {0} 'variable' is
substituted for the Principal ID in the query property.
I adapting the example config
(http://www.ja-sig.org/wiki/display/CASUM/Attributes):
<bean id="attribRepository"
class="org.jasig.services.persondir.support.ldap.LdapPersonAttributeDao">
<property name="baseDN"
value="ou=people,o=company,c=fr" />
<!-- This query is used to find the entry for populating attributes. {0} will be replaced by the new Principal ID extracted from the ldap-->
<property name="query" value="(uid={0})" />
<property name="contextSource" ref="contextSource" />
<property name="ldapAttributesToPortalAttributes">
<map>
<!-- Mapping beetween LDAP entry's attributes (key) and Principal"s (value) -->
<entry key="cn" value="Name"/>
<entry value="Telephone" key="telephoneNumber" />
<entry value="Fax" key="facsimileTelephoneNumber" />
</map>
</property>
</bean>
Into:
<bean id="attributeRepository"
class="org.jasig.services.persondir.support.dnd.DNDPersonAttributeDao">
<property name="query" value="{0}" />
<property name="fieldsToAttributes">
<map>
<entry key="uid" value="uid" />
<entry key="lastname" value="lastname" />
</map>
</property>
</bean>
Everything seems swell until the point where the query attribute needs to be used, at which point I see that it's still set to it's
literal value:
DNDPersonAttributeDao: in getUserAttributesIfNeeded; about to query: {0}
Any one have any experience or thoughts on this?
Thanks!
..Sean.
More information about the cas-dev
mailing list