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 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