Purdue Java CAS Client configurationGet the Java CAS clientWe've been using version 3.1.12, downloads can be found here. web.xml<filter> <filter-name>CAS Authentication Filter</filter-name> <filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class> <init-param> <param-name>casServerLoginUrl</param-name> <param-value>https://www.purdue.edu/apps/account/cas/login</param-value> </init-param> <init-param> <param-name>serverName</param-name> <param-value>https://www.purdue.edu</param-value> </init-param> </filter> <filter> <filter-name>CAS Validation Filter</filter-name> <filter-class>org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter</filter-class> <init-param> <param-name>casServerUrlPrefix</param-name> <param-value>https://www.purdue.edu/apps/account/cas</param-value> </init-param> <init-param> <param-name>serverName</param-name> <param-value>https://www.purdue.edu</param-value> </init-param> <init-param> <param-name>redirectAfterValidation</param-name> <param-value>true</param-value> </init-param> <init-param> <param-name>exceptionOnValidationFailure</param-name> <param-value>false</param-value> </init-param> </filter> <filter> <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name> <filter-class>org.jasig.cas.client.util.HttpServletRequestWrapperFilter</filter-class> </filter> <filter-mapping> <filter-name>CAS Authentication Filter</filter-name> <url-pattern>/yourapp</url-pattern> </filter-mapping> <filter-mapping> <filter-name>CAS Validation Filter</filter-name> <url-pattern>/yourapp</url-pattern> </filter-mapping> <filter-mapping> <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name> <url-pattern>/yourapp</url-pattern> </filter-mapping> servlet codeimport org.jasig.cas.client.authentication.AttributePrincipal; String authenticatedLogin = request.getRemoteUser(); // cas client as of 3.1.12 does not specify the Map types Map<?,?> attrs = ((AttributePrincipal)request.getUserPrincipal()).getAttributes(); if( attrs == null ) { throw new ServletException("no attributes set by the CAS client"); } String puid = (String)attrs.get("puid"); // always 10 digit leading zeros String email = (String)attrs.get("email"); String lastname = (String)attrs.get("lastname"); String firstname = (String)attrs.get("firstname"); String fullname = (String)attrs.get("fullname"); // multi valued attributes have to be passed as comma separated Strings through serviceValidate (as of Java CAS client 3.1.12) // (characteristic definitions can be found at https://www.purdue.edu/apps/account/I2A2Char) List<String> i2a2characteristics = Arrays.asList(((String)attrs.get("i2a2characteristics")).split(",")); You may choose to place the above servlet code into a servlet filter that fills a data transfer object, since that would separate your servlet code from any references to CAS altogether. QuestionsPlease contact accounts@purdue.edu. |
Feedback |
Contact Purdue
Maintained by: IAMO Team
Purdue University, West Lafayette, IN 47907, (765) 494-4600
© 2010 - 2013 Purdue University |
An equal access/equal opportunity university |
Copyright Complaints
If you have trouble accessing this page because of a disability, please contact the CSC at itap@purdue.edu or (765) 494-4000.