Two things:

You can use fast bind and deal with an optional email address.  Since the
AuthenticationManager can take a list of AuthenticationHandlers you can
define multiple FastBindLdapAuthenticationHandlers.  They can have
different filters.  Here is part of my
deploymentConfigContext.xml.

   <bean id="Public-LdapAuthHandler"
                
class="org.jasig.cas.adaptors.ldap.FastBindLdapAuthenticationHandler" >
                                        <property name="filter" 
value="%[email protected]" />
                                        <property name="contextSource" 
ref="publicContextSource" />
                                        <property 
name="ignorePartialResultException" value="yes" />
                                        <property name="ldapErrorDefinitions"  
ref="ldapErrorDefinitionsList"
/>
        </bean>

        <bean id="PublicEmail-LdapAuthHandler"
                
class="org.jasig.cas.adaptors.ldap.FastBindLdapAuthenticationHandler" >
                                        <property name="filter" value="%u" />
                                        <property name="contextSource" 
ref="publicContextSource" />
                                        <property 
name="ignorePartialResultException" value="yes" />
                                        <property name="ldapErrorDefinitions"  
ref="ldapErrorDefinitionsList"
/>
        </bean>


The other thing is that earlier the was a discussion about how ldap is
case insensitive but downstream systems are not.  I know you probably
can¹t change the those systems but a login is a poor identifier.  You
should try to get them to use a unique ID that is common to all the
systems.  I bet it is a real pain when someone gets married and wants
their login to match their new name.


-- 
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