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
,org.springframework.security.authentication.AuthenticationProvider
public class CasAuthenticationProvider extends java.lang.Object implements org.springframework.security.authentication.AuthenticationProvider, org.springframework.beans.factory.InitializingBean, org.springframework.context.MessageSourceAware
AnAuthenticationProvider
implementation that integrates with JA-SIG Central Authentication Service (CAS).This
AuthenticationProvider
is capable of validatingUsernamePasswordAuthenticationToken
requests which contain aprincipal
name equal to eitherCasAuthenticationFilter.CAS_STATEFUL_IDENTIFIER
orCasAuthenticationFilter.CAS_STATELESS_IDENTIFIER
. It can also validate a previously createdCasAuthenticationToken
.
-
-
Field Summary
Fields Modifier and Type Field Description protected org.springframework.context.support.MessageSourceAccessor
messages
-
Constructor Summary
Constructors Constructor Description CasAuthenticationProvider()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
afterPropertiesSet()
org.springframework.security.core.Authentication
authenticate(org.springframework.security.core.Authentication authentication)
protected java.lang.String
getKey()
StatelessTicketCache
getStatelessTicketCache()
protected org.jasig.cas.client.validation.TicketValidator
getTicketValidator()
protected org.springframework.security.core.userdetails.UserDetails
loadUserByAssertion(org.jasig.cas.client.validation.Assertion assertion)
Template method for retrieving the UserDetails based on the assertion.void
setAuthenticationUserDetailsService(org.springframework.security.core.userdetails.AuthenticationUserDetailsService<CasAssertionAuthenticationToken> authenticationUserDetailsService)
void
setAuthoritiesMapper(org.springframework.security.core.authority.mapping.GrantedAuthoritiesMapper authoritiesMapper)
void
setKey(java.lang.String key)
void
setMessageSource(org.springframework.context.MessageSource messageSource)
void
setServiceProperties(ServiceProperties serviceProperties)
void
setStatelessTicketCache(StatelessTicketCache statelessTicketCache)
void
setTicketValidator(org.jasig.cas.client.validation.TicketValidator ticketValidator)
void
setUserDetailsService(org.springframework.security.core.userdetails.UserDetailsService userDetailsService)
boolean
supports(java.lang.Class<?> authentication)
-
-
-
Method Detail
-
afterPropertiesSet
public void afterPropertiesSet()
- Specified by:
afterPropertiesSet
in interfaceorg.springframework.beans.factory.InitializingBean
-
authenticate
public org.springframework.security.core.Authentication authenticate(org.springframework.security.core.Authentication authentication) throws org.springframework.security.core.AuthenticationException
- Specified by:
authenticate
in interfaceorg.springframework.security.authentication.AuthenticationProvider
- Throws:
org.springframework.security.core.AuthenticationException
-
loadUserByAssertion
protected org.springframework.security.core.userdetails.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(org.springframework.security.core.userdetails.UserDetailsService userDetailsService)
-
setAuthenticationUserDetailsService
public void setAuthenticationUserDetailsService(org.springframework.security.core.userdetails.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:
setMessageSource
in 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(org.springframework.security.core.authority.mapping.GrantedAuthoritiesMapper authoritiesMapper)
-
supports
public boolean supports(java.lang.Class<?> authentication)
- Specified by:
supports
in interfaceorg.springframework.security.authentication.AuthenticationProvider
-
-