spring-security-cas

org.springframework.security.cas.authentication
Class CasAuthenticationProvider

java.lang.Object
  extended by org.springframework.security.cas.authentication.CasAuthenticationProvider
All Implemented Interfaces:
InitializingBean, MessageSourceAware, org.springframework.security.authentication.AuthenticationProvider

public class CasAuthenticationProvider
extends Object
implements org.springframework.security.authentication.AuthenticationProvider, InitializingBean, MessageSourceAware

An AuthenticationProvider implementation that integrates with JA-SIG Central Authentication Service (CAS).

This AuthenticationProvider is capable of validating UsernamePasswordAuthenticationToken requests which contain a principal name equal to either CasAuthenticationFilter.CAS_STATEFUL_IDENTIFIER or CasAuthenticationFilter.CAS_STATELESS_IDENTIFIER. It can also validate a previously created CasAuthenticationToken.

Author:
Ben Alex, Scott Battaglia

Field Summary
protected  MessageSourceAccessor messages
           
 
Constructor Summary
CasAuthenticationProvider()
           
 
Method Summary
 void afterPropertiesSet()
           
 org.springframework.security.core.Authentication authenticate(org.springframework.security.core.Authentication authentication)
           
protected  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(String key)
           
 void setMessageSource(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)
          Deprecated. 
 boolean supports(Class<?> authentication)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

messages

protected MessageSourceAccessor messages
Constructor Detail

CasAuthenticationProvider

public CasAuthenticationProvider()
Method Detail

afterPropertiesSet

public void afterPropertiesSet()
                        throws Exception
Specified by:
afterPropertiesSet in interface InitializingBean
Throws:
Exception

authenticate

public org.springframework.security.core.Authentication authenticate(org.springframework.security.core.Authentication authentication)
                                                              throws org.springframework.security.core.AuthenticationException
Specified by:
authenticate in interface org.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

@Deprecated
public void setUserDetailsService(org.springframework.security.core.userdetails.UserDetailsService userDetailsService)
Deprecated. 


setAuthenticationUserDetailsService

public void setAuthenticationUserDetailsService(org.springframework.security.core.userdetails.AuthenticationUserDetailsService<CasAssertionAuthenticationToken> authenticationUserDetailsService)

setServiceProperties

public void setServiceProperties(ServiceProperties serviceProperties)

getKey

protected String getKey()

setKey

public void setKey(String key)

getStatelessTicketCache

public StatelessTicketCache getStatelessTicketCache()

getTicketValidator

protected org.jasig.cas.client.validation.TicketValidator getTicketValidator()

setMessageSource

public void setMessageSource(MessageSource messageSource)
Specified by:
setMessageSource in interface 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(Class<?> authentication)
Specified by:
supports in interface org.springframework.security.authentication.AuthenticationProvider

spring-security-cas