public class

RemoteAuthenticationProvider

extends Object
implements InitializingBean AuthenticationProvider
java.lang.Object
   ↳ org.springframework.security.authentication.rcp.RemoteAuthenticationProvider

Class Overview

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.

Summary

Public Constructors
RemoteAuthenticationProvider()
Public Methods
void afterPropertiesSet()
Authentication authenticate(Authentication authentication)
Performs authentication with the same contract as authenticate(Authentication).
RemoteAuthenticationManager getRemoteAuthenticationManager()
void setRemoteAuthenticationManager(RemoteAuthenticationManager remoteAuthenticationManager)
boolean supports(Class<?> authentication)
Returns true if this AuthenticationProvider supports the indicated Authentication object.
[Expand]
Inherited Methods
From class java.lang.Object
From interface org.springframework.beans.factory.InitializingBean
From interface org.springframework.security.authentication.AuthenticationProvider

Public Constructors

public RemoteAuthenticationProvider ()

Public Methods

public void afterPropertiesSet ()

Throws
Exception

public Authentication authenticate (Authentication authentication)

Performs authentication with the same contract as authenticate(Authentication).

Parameters
authentication the authentication request object.
Returns
  • a fully authenticated object including credentials. May return null if the AuthenticationProvider is unable to support authentication of the passed Authentication object. In such a case, the next AuthenticationProvider that supports the presented Authentication class will be tried.

public RemoteAuthenticationManager getRemoteAuthenticationManager ()

public void setRemoteAuthenticationManager (RemoteAuthenticationManager remoteAuthenticationManager)

public boolean supports (Class<?> authentication)

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 authenticate(Authentication) method to indicate another AuthenticationProvider should be tried.

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

Returns
  • true if the implementation can more closely evaluate the Authentication class presented