Class RemoteAuthenticationProvider

  • All Implemented Interfaces:
    org.springframework.beans.factory.InitializingBean, AuthenticationProvider

    public class RemoteAuthenticationProvider
    extends java.lang.Object
    implements AuthenticationProvider, org.springframework.beans.factory.InitializingBean
    Client-side object which queries a RemoteAuthenticationManager to validate an authentication request.

    A new Authentication object is created by this class comprising the request Authentication object's principal, credentials and the GrantedAuthority[]s returned by the RemoteAuthenticationManager.

    The RemoteAuthenticationManager should not require any special username or password setting on the remoting client proxy factory to execute the call. Instead the entire authentication request must be encapsulated solely within the Authentication request object. In practical terms this means the RemoteAuthenticationManager will not be protected by BASIC or any other HTTP-level authentication.

    If authentication fails, a RemoteAuthenticationException will be thrown. This exception should be caught and displayed to the user, enabling them to retry with alternative credentials etc.

    • Constructor Detail

      • RemoteAuthenticationProvider

        public RemoteAuthenticationProvider()
    • Method Detail

      • afterPropertiesSet

        public void afterPropertiesSet()
        Specified by:
        afterPropertiesSet in interface org.springframework.beans.factory.InitializingBean
      • setRemoteAuthenticationManager

        public void setRemoteAuthenticationManager​(RemoteAuthenticationManager remoteAuthenticationManager)
      • supports

        public boolean supports​(java.lang.Class<?> authentication)
        Description copied from interface: AuthenticationProvider
        Returns true if this AuthenticationProvider supports the indicated Authentication object.

        Returning true does not guarantee an AuthenticationProvider will be able to authenticate the presented instance of the Authentication class. It simply indicates it can support closer evaluation of it. An AuthenticationProvider can still return null from the AuthenticationProvider.authenticate(Authentication) method to indicate another AuthenticationProvider should be tried.

        Selection of an AuthenticationProvider capable of performing authentication is conducted at runtime the ProviderManager.

        Specified by:
        supports in interface AuthenticationProvider
        Returns:
        true if the implementation can more closely evaluate the Authentication class presented