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

    • Field Detail

      • messages

        protected org.springframework.context.support.MessageSourceAccessor messages
    • Constructor Detail

      • CasAuthenticationProvider

        public CasAuthenticationProvider()
    • Method Detail

      • 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.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)
      • getTicketValidator

        protected org.jasig.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.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 interface org.springframework.security.authentication.AuthenticationProvider