Package org.springframework.security.cas.authentication

# 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 Object implements org.springframework.security.authentication.AuthenticationProvider, org.springframework.beans.factory.InitializingBean, org.springframework.context.MessageSourceAware
An `AuthenticationProvider` implementation that integrates with JA-SIG Central Authentication Service (CAS).

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

## Field Summary

Fields
Modifier and Type
Field
Description
`protected org.springframework.context.support.MessageSourceAccessor`
`messages`

## Constructor Summary

Constructors
Constructor
Description
`CasAuthenticationProvider()`

## Method Summary

Modifier and Type
Method
Description
`void`
`afterPropertiesSet()`
`org.springframework.security.core.Authentication`
`authenticate(org.springframework.security.core.Authentication authentication)`
`protected String`
`getKey()`
`StatelessTicketCache`
`getStatelessTicketCache()`
`protected org.apereo.cas.client.validation.TicketValidator`
`getTicketValidator()`
`protected org.springframework.security.core.userdetails.UserDetails`
`loadUserByAssertion(org.apereo.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(org.springframework.context.MessageSource messageSource)`
`void`
`setServiceProperties(ServiceProperties serviceProperties)`
`void`
`setStatelessTicketCache(StatelessTicketCache statelessTicketCache)`
`void`
`setTicketValidator(org.apereo.cas.client.validation.TicketValidator ticketValidator)`
`void`
`setUserDetailsChecker(org.springframework.security.core.userdetails.UserDetailsChecker userDetailsChecker)`
Sets the UserDetailsChecker to be used for checking the status of retrieved user details.
`void`
`setUserDetailsService(org.springframework.security.core.userdetails.UserDetailsService userDetailsService)`
`boolean`
`supports(Class<?> authentication)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### messages

protected org.springframework.context.support.MessageSourceAccessor messages

## Constructor Details

### CasAuthenticationProvider

public CasAuthenticationProvider()

## Method Details

### afterPropertiesSet

public void afterPropertiesSet()

Specified by:
  `afterPropertiesSet` in interface `org.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 interface `org.springframework.security.authentication.AuthenticationProvider`
Throws:
  `org.springframework.security.core.AuthenticationException`

### loadUserByAssertion

protected org.springframework.security.core.userdetails.UserDetails loadUserByAssertion(org.apereo.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)

### setUserDetailsChecker

public void setUserDetailsChecker(org.springframework.security.core.userdetails.UserDetailsChecker userDetailsChecker)
Sets the UserDetailsChecker to be used for checking the status of retrieved user details. This allows customization of the UserDetailsChecker implementation.

Parameters:
  `userDetailsChecker` - the UserDetailsChecker to be set
Since:
  6.4

### setServiceProperties

public void setServiceProperties(ServiceProperties serviceProperties)

### getKey

protected String getKey()

### setKey

public void setKey(String key)

### getStatelessTicketCache

public StatelessTicketCache getStatelessTicketCache()

### getTicketValidator

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

### setMessageSource

public void setMessageSource(org.springframework.context.MessageSource messageSource)

Specified by:
  `setMessageSource` in interface `org.springframework.context.MessageSourceAware`

### setStatelessTicketCache

public void setStatelessTicketCache(StatelessTicketCache statelessTicketCache)

### setTicketValidator

public void setTicketValidator(org.apereo.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`