Class FluentUserAuthenticationProvider

  • All Implemented Interfaces:
    IAuthenticationProviderAware, IPortalAware, org.springframework.beans.factory.Aware, org.springframework.beans.factory.InitializingBean, org.springframework.context.MessageSourceAware, org.springframework.security.authentication.AuthenticationProvider

    public class FluentUserAuthenticationProvider
    extends org.springframework.security.authentication.dao.AbstractUserDetailsAuthenticationProvider
    implements IAuthenticationProviderAware, IPortalAware
    Provides a Fluent script based User Authentication Provider class.
    Since:
    19.11.0
    • Field Summary

      • Fields inherited from class org.springframework.security.authentication.dao.AbstractUserDetailsAuthenticationProvider

        hideUserNotFoundExceptions, logger, messages
    • Constructor Summary

      Constructors 
      Constructor Description
      FluentUserAuthenticationProvider()
      Create a GroovyUserDetailsAuthenticationProvider and initialize the default properties.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void additionalAuthenticationChecks​(org.springframework.security.core.userdetails.UserDetails userDetails, org.springframework.security.authentication.UsernamePasswordAuthenticationToken authentication)
      This method does nothing.
      String getGroovyScript()
      Return the retrieve AccountUserDetails Fluent Groovy script.
      String getName()
      Return the authentication details provider name.
      protected org.springframework.security.core.userdetails.UserDetails retrieveUser​(String username, org.springframework.security.authentication.UsernamePasswordAuthenticationToken authentication)
      Retrieve the AccountUserDetails object for the specified user name and authentication token.
      void setAuthenticationProvider​(AuthenticationProvider authenticationProvider)
      Set the Authentication Provider.
      void setGroovyScript​(String groovyScript)
      Set the retrieve AccountUserDetails Fluent Groovy script.
      void setName​(String name)
      Set the authentication details provider name.
      void setPortal​(Portal portal)
      Set the execution context portal.
      • Methods inherited from class org.springframework.security.authentication.dao.AbstractUserDetailsAuthenticationProvider

        afterPropertiesSet, authenticate, createSuccessAuthentication, doAfterPropertiesSet, getPostAuthenticationChecks, getPreAuthenticationChecks, getUserCache, isForcePrincipalAsString, isHideUserNotFoundExceptions, setAuthoritiesMapper, setForcePrincipalAsString, setHideUserNotFoundExceptions, setMessageSource, setPostAuthenticationChecks, setPreAuthenticationChecks, setUserCache, supports
    • Constructor Detail

      • FluentUserAuthenticationProvider

        public FluentUserAuthenticationProvider()
        Create a GroovyUserDetailsAuthenticationProvider and initialize the default properties.
    • Method Detail

      • getName

        public String getName()
        Return the authentication details provider name.
        Returns:
        the authentication details provider name.
      • setName

        public void setName​(String name)
        Set the authentication details provider name.
        Parameters:
        name - the authentication details provider name
      • getGroovyScript

        public String getGroovyScript()
        Return the retrieve AccountUserDetails Fluent Groovy script.
        Returns:
        the retrieve AccountUserDetails Fluent Groovy script
      • setGroovyScript

        public void setGroovyScript​(String groovyScript)
        Set the retrieve AccountUserDetails Fluent Groovy script.
        Parameters:
        groovyScript - the retrieve AccountUserDetails Fluent Groovy script
      • retrieveUser

        protected org.springframework.security.core.userdetails.UserDetails retrieveUser​(String username,
                                                                                         org.springframework.security.authentication.UsernamePasswordAuthenticationToken authentication)
                                                                                  throws org.springframework.security.core.AuthenticationException
        Retrieve the AccountUserDetails object for the specified user name and authentication token. Typically this method may:
        • successfully perform authentication of an existing, returning a AccountUserDetails object
        • successfully perform authentication creating an new account, returning a AccountUserDetails object
        • failed authentication of an existing user, returning a BadCredentialsException
        • failed authentication with not user found, returning a UsernameNotFoundException
        • found user account is not associated with Portal, returning a NotPortalAccountException
        • found user account is not active, returning a AccountNotActiveException
        Specified by:
        retrieveUser in class org.springframework.security.authentication.dao.AbstractUserDetailsAuthenticationProvider
        Throws:
        org.springframework.security.core.AuthenticationException
        See Also:
        AbstractUserDetailsAuthenticationProvider.retrieveUser(String, UsernamePasswordAuthenticationToken)
      • additionalAuthenticationChecks

        protected void additionalAuthenticationChecks​(org.springframework.security.core.userdetails.UserDetails userDetails,
                                                      org.springframework.security.authentication.UsernamePasswordAuthenticationToken authentication)
                                               throws org.springframework.security.core.AuthenticationException
        This method does nothing.
        Specified by:
        additionalAuthenticationChecks in class org.springframework.security.authentication.dao.AbstractUserDetailsAuthenticationProvider
        Throws:
        org.springframework.security.core.AuthenticationException
        See Also:
        AbstractUserDetailsAuthenticationProvider#additionalAuthenticationChecks(String, UsernamePasswordAuthenticationToken)