Class PreAuthenticatedAuthenticationProvider

java.lang.Object
org.springframework.security.web.authentication.preauth.PreAuthenticatedAuthenticationProvider
All Implemented Interfaces:
org.springframework.beans.factory.InitializingBean, org.springframework.core.Ordered, org.springframework.security.authentication.AuthenticationProvider

public class PreAuthenticatedAuthenticationProvider extends Object implements org.springframework.security.authentication.AuthenticationProvider, org.springframework.beans.factory.InitializingBean, org.springframework.core.Ordered

Processes a pre-authenticated authentication request. The request will typically originate from a AbstractPreAuthenticatedProcessingFilter subclass.

This authentication provider will not perform any checks on authentication requests, as they should already be pre-authenticated. However, the AuthenticationUserDetailsService implementation may still throw a UsernameNotFoundException, for example.

Since:
2.0
  • Field Summary

    Fields inherited from interface org.springframework.core.Ordered

    HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Check whether all required properties have been set.
    org.springframework.security.core.Authentication
    authenticate(org.springframework.security.core.Authentication authentication)
    Authenticate the given PreAuthenticatedAuthenticationToken.
    int
     
    void
    setOrder(int i)
     
    void
    setPreAuthenticatedUserDetailsService(org.springframework.security.core.userdetails.AuthenticationUserDetailsService<PreAuthenticatedAuthenticationToken> uds)
    Set the AuthenticatedUserDetailsService to be used to load the UserDetails for the authenticated user.
    void
    setThrowExceptionWhenTokenRejected(boolean throwExceptionWhenTokenRejected)
    If true, causes the provider to throw a BadCredentialsException if the presented authentication request is invalid (contains a null principal or credentials).
    void
    setUserDetailsChecker(org.springframework.security.core.userdetails.UserDetailsChecker userDetailsChecker)
    Sets the strategy which will be used to validate the loaded UserDetails object for the user.
    final boolean
    supports(Class<?> authentication)
    Indicate that this provider only supports PreAuthenticatedAuthenticationToken (sub)classes.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • PreAuthenticatedAuthenticationProvider

      public PreAuthenticatedAuthenticationProvider()
  • Method Details

    • afterPropertiesSet

      public void afterPropertiesSet()
      Check whether all required properties have been set.
      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
      Authenticate the given PreAuthenticatedAuthenticationToken.

      If the principal contained in the authentication object is null, the request will be ignored to allow other providers to authenticate it.

      Specified by:
      authenticate in interface org.springframework.security.authentication.AuthenticationProvider
      Throws:
      org.springframework.security.core.AuthenticationException
    • supports

      public final boolean supports(Class<?> authentication)
      Indicate that this provider only supports PreAuthenticatedAuthenticationToken (sub)classes.
      Specified by:
      supports in interface org.springframework.security.authentication.AuthenticationProvider
    • setPreAuthenticatedUserDetailsService

      public void setPreAuthenticatedUserDetailsService(org.springframework.security.core.userdetails.AuthenticationUserDetailsService<PreAuthenticatedAuthenticationToken> uds)
      Set the AuthenticatedUserDetailsService to be used to load the UserDetails for the authenticated user.
      Parameters:
      uds -
    • setThrowExceptionWhenTokenRejected

      public void setThrowExceptionWhenTokenRejected(boolean throwExceptionWhenTokenRejected)
      If true, causes the provider to throw a BadCredentialsException if the presented authentication request is invalid (contains a null principal or credentials). Otherwise it will just return null. Defaults to false.
    • setUserDetailsChecker

      public void setUserDetailsChecker(org.springframework.security.core.userdetails.UserDetailsChecker userDetailsChecker)
      Sets the strategy which will be used to validate the loaded UserDetails object for the user. Defaults to an AccountStatusUserDetailsChecker.
      Parameters:
      userDetailsChecker -
    • getOrder

      public int getOrder()
      Specified by:
      getOrder in interface org.springframework.core.Ordered
    • setOrder

      public void setOrder(int i)