Class CasAuthenticationProvider
- java.lang.Object
-
- org.springframework.security.cas.authentication.CasAuthenticationProvider
-
- All Implemented Interfaces:
org.springframework.beans.factory.Aware,org.springframework.beans.factory.InitializingBean,org.springframework.context.MessageSourceAware,AuthenticationProvider
public class CasAuthenticationProvider extends java.lang.Object implements AuthenticationProvider, org.springframework.beans.factory.InitializingBean, org.springframework.context.MessageSourceAware
AnAuthenticationProviderimplementation that integrates with JA-SIG Central Authentication Service (CAS).This
AuthenticationProvideris capable of validatingUsernamePasswordAuthenticationTokenrequests which contain aprincipalname equal to eitherCasAuthenticationFilter.CAS_STATEFUL_IDENTIFIERorCasAuthenticationFilter.CAS_STATELESS_IDENTIFIER. It can also validate a previously createdCasAuthenticationToken.
-
-
Field Summary
Fields Modifier and Type Field Description protected org.springframework.context.support.MessageSourceAccessormessages
-
Constructor Summary
Constructors Constructor Description CasAuthenticationProvider()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidafterPropertiesSet()Authenticationauthenticate(Authentication authentication)Performs authentication with the same contract asAuthenticationManager.authenticate(Authentication).protected java.lang.StringgetKey()StatelessTicketCachegetStatelessTicketCache()protected org.jasig.cas.client.validation.TicketValidatorgetTicketValidator()protected UserDetailsloadUserByAssertion(org.jasig.cas.client.validation.Assertion assertion)Template method for retrieving the UserDetails based on the assertion.voidsetAuthenticationUserDetailsService(AuthenticationUserDetailsService<CasAssertionAuthenticationToken> authenticationUserDetailsService)voidsetAuthoritiesMapper(GrantedAuthoritiesMapper authoritiesMapper)voidsetKey(java.lang.String key)voidsetMessageSource(org.springframework.context.MessageSource messageSource)voidsetServiceProperties(ServiceProperties serviceProperties)voidsetStatelessTicketCache(StatelessTicketCache statelessTicketCache)voidsetTicketValidator(org.jasig.cas.client.validation.TicketValidator ticketValidator)voidsetUserDetailsService(UserDetailsService userDetailsService)booleansupports(java.lang.Class<?> authentication)Returnstrueif thisAuthenticationProvidersupports the indicatedAuthenticationobject.
-
-
-
Method Detail
-
afterPropertiesSet
public void afterPropertiesSet()
- Specified by:
afterPropertiesSetin interfaceorg.springframework.beans.factory.InitializingBean
-
authenticate
public Authentication authenticate(Authentication authentication) throws AuthenticationException
Description copied from interface:AuthenticationProviderPerforms authentication with the same contract asAuthenticationManager.authenticate(Authentication).- Specified by:
authenticatein interfaceAuthenticationProvider- Parameters:
authentication- the authentication request object.- Returns:
- a fully authenticated object including credentials. May return
nullif theAuthenticationProvideris unable to support authentication of the passedAuthenticationobject. In such a case, the nextAuthenticationProviderthat supports the presentedAuthenticationclass will be tried. - Throws:
AuthenticationException- if authentication fails.
-
loadUserByAssertion
protected UserDetails loadUserByAssertion(org.jasig.cas.client.validation.Assertion assertion)
Template method for retrieving the UserDetails based on the assertion. Default is to call configured userDetailsService and pass the username. Deployers can override this method and retrieve the user based on any criteria they desire.- Parameters:
assertion- The CAS Assertion.- Returns:
- the UserDetails.
-
setUserDetailsService
public void setUserDetailsService(UserDetailsService userDetailsService)
-
setAuthenticationUserDetailsService
public void setAuthenticationUserDetailsService(AuthenticationUserDetailsService<CasAssertionAuthenticationToken> authenticationUserDetailsService)
-
setServiceProperties
public void setServiceProperties(ServiceProperties serviceProperties)
-
getKey
protected java.lang.String getKey()
-
setKey
public void setKey(java.lang.String key)
-
getStatelessTicketCache
public StatelessTicketCache getStatelessTicketCache()
-
getTicketValidator
protected org.jasig.cas.client.validation.TicketValidator getTicketValidator()
-
setMessageSource
public void setMessageSource(org.springframework.context.MessageSource messageSource)
- Specified by:
setMessageSourcein interfaceorg.springframework.context.MessageSourceAware
-
setStatelessTicketCache
public void setStatelessTicketCache(StatelessTicketCache statelessTicketCache)
-
setTicketValidator
public void setTicketValidator(org.jasig.cas.client.validation.TicketValidator ticketValidator)
-
setAuthoritiesMapper
public void setAuthoritiesMapper(GrantedAuthoritiesMapper authoritiesMapper)
-
supports
public boolean supports(java.lang.Class<?> authentication)
Description copied from interface:AuthenticationProviderReturnstrueif thisAuthenticationProvidersupports the indicatedAuthenticationobject.Returning
truedoes not guarantee anAuthenticationProviderwill be able to authenticate the presented instance of theAuthenticationclass. It simply indicates it can support closer evaluation of it. AnAuthenticationProvidercan still returnnullfrom theAuthenticationProvider.authenticate(Authentication)method to indicate anotherAuthenticationProvidershould be tried.Selection of an
AuthenticationProvidercapable of performing authentication is conducted at runtime theProviderManager.- Specified by:
supportsin interfaceAuthenticationProvider- Returns:
trueif the implementation can more closely evaluate theAuthenticationclass presented
-
-