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
