Afternoon,

CAS 4.2.1

I'm having a little difficulty figuring out how to resolve a normalized 
principal from an LDAP directory. E.g. user enters 'Fred' as the username and 
I'd like to return the principal 'fred' from the uid attribute (as stored in 
the directory).

If I use the (largely default) config below, entering "FRED" returns "FRED" at 
serviceValidate (LDAP being case-insensitive, authentication does succeed). 
Code behind ldapAuthenticationHandler looks like it should populate attributes.

(Re: the JAAS line, we're layering in a legacy credential store. Bonus if we 
can query the directory to return a normalized name here, as well.)

Ideas on what I'm missing? Do I need to dive into the 
personDirectoryPrincipalResolver? Cf.

cas.principal.resolver.persondir.return.null
cas.principal.resolver.persondir.principal.attribute

Thanks!
Tom.

deployerContextConfig.xml:

        <util:map id="authenticationHandlersResolvers">
                <entry key-ref="proxyAuthenticationHandler" 
value-ref="proxyPrincipalResolver" />
                <entry key-ref="ldapAuthenticationHandler" 
value-ref="primaryPrincipalResolver" />
                <entry key-ref="jaasAuthenticationHandler" 
value-ref="primaryPrincipalResolver" />
        </util:map>
        <util:list id="authenticationMetadataPopulators" />
        <bean id="attributeRepository"
                
class="org.jasig.services.persondir.support.NamedStubPersonAttributeDao"
                p:backingMap-ref="attrRepoBackingMap" />

        <alias name="personDirectoryPrincipalResolver" 
alias="primaryPrincipalResolver" />

        <util:map id="attrRepoBackingMap">
                <entry key="uid" value="uid" />
...

        <bean id="ldapAuthenticationHandler" 
class="org.jasig.cas.authentication.LdapAuthenticationHandler"
                p:principalIdAttribute="uid" 
c:authenticator-ref="authenticator">
                <property name="principalAttributeMap">
                        <map>
                                <entry key="displayName" value="simpleName" />
                                <entry key="mail" value="email" />
                                <entry key="memberOf" value="membership" />
                        </map>
                </property>
        </bean>

        <ldaptive:bind-search-authenticator
                id="authenticator" 
                ldapUrl="${ldap.url}" 
                baseDn="${ldap.baseDn}"
                userFilter="${ldap.authn.searchFilter}" 
                bindDn="${ldap.managerDn}"
                bindCredential="${ldap.managerPassword}" 
...

ldap.properties:

ldap.url=...
ldap.baseDn=...
ldap.authn.searchFilter=(uid={user})
...

-- 
You received this message because you are subscribed to the Google Groups "CAS 
Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/a/apereo.org/group/cas-user/.
To view this discussion on the web visit 
https://groups.google.com/a/apereo.org/d/msgid/cas-user/B88CFE34-93D9-420E-BA54-12AC24146AAD%40ucdavis.edu.
For more options, visit https://groups.google.com/a/apereo.org/d/optout.

Reply via email to