Hi, Im having the same problem. Im using CAS 3.0.7 with a LDAP handler. I
need to lowerCase the userName.

Could this solution work for CAS 3.0.7?


Thanks

2009/2/9 Pablo Millet <[email protected]>

>
> First, thanks a lot for all replies to my question.
> I find the this way to be the simplest.
> (Please let us know if you see any problems with this solution)
>
> 1. Download and compile the attached code (rename to .java)
> 2. Deploy .class to $CAS_HOME/WEB-INF/classes  (in this case to package
> 'classes/se/gu/cas/')
> 3. Edit $CAS_HOME/WEB-INF/deployerConfigContext.xml
>   Comment out:
>   <bean
>
> class="org.jasig.cas.authentication.principal.UsernamePasswordCredentialsToPrincipalResolver"
> />
>   Replace with our new bean:
>   <bean
> class="se.gu.cas.CustomUsernamePasswordCredentialsToPrincipalResolver" />
> 4. Restart server and test!
>
> Done!
>
>
>
> Pablo Millet
> University of Gothenburg
> Running CAS 3.3
>
>
>
> Pablo Millet wrote:
> > As LDAP binding is not case-sensitive users can login with uppercase as
> > userid and run in to problems later on when navigating to other
> > case-sensitive CAS-clients.
> >
> > I use org.jasig.cas.adaptors.ldap.FastBindLdapAuthenticationHandler as
> > authenticationhandler.
> > With CAS2 I solved it simply by doing toLowerCase on
> > TicketGrantingTicket creation.
> >
> > Question;
> > I need to convert userid's toLowerCase in CAS3.
> > Before I go ahead I'd like to ask you if you done this already and if
> > you have any recommendations or 'best practice' on where and how to do
> > the lower-case convertion?
> > Can I do this the "Spring" way somehow... any examples?
> >
> > Thanx
> > - Pablo
> > Running CAS 3.3
> >
> >
> >
> >
>
>
> --
> ____________________________________________
> Pablo Millet
> IT-Service
> Göteborgs universitet
>
> Tel.: 031 – 786 5342
> Mob.: 0707 - 10 40 70
> www.it.gu.se
>
>
> --
> 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
>
>
> package se.gu.cas;
>
> import org.jasig.cas.authentication.principal.*;
>
> /**
>  * CustomUsernamePasswordCredentialsToPrincipalResolver
>  *
>  */
>
> public class CustomUsernamePasswordCredentialsToPrincipalResolver extends
> AbstractPersonDirectoryCredentialsToPrincipalResolver {
>
>    protected String extractPrincipalId(final Credentials credentials) {
>
>
>        // Lowercase, trim and finally return userid.
>        final UsernamePasswordCredentials usernamePasswordCredentials =
> (UsernamePasswordCredentials) credentials;
>        return
> usernamePasswordCredentials.getUsername().toLowerCase().trim();
>
>
>        /* The following rows does the same as above */
>
>        /* Get credentials */
>        //final UsernamePasswordCredentials usernamePasswordCredentials =
> (UsernamePasswordCredentials) credentials;
>
>        /* From here you can do whatever you like with 'userid'. */
>        //String userid =
>  usernamePasswordCredentials.getUsername().toLowerCase().trim();
>
>        /* Example: convert to lowercase */
>        //userid = userid.toLowerCase();
>
>        /* Example: delete whitespace before and after */
>        //userid = userid.trim();
>
>        /* return new userid */
>        //return userid;
>
>    }
>
>    public boolean supports(final Credentials credentials) {
>        return credentials != null &&
> UsernamePasswordCredentials.class.isAssignableFrom(credentials.getClass());
>    }
>
> }
>
>

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