org.springframework.security.authentication.rcp
Class RemoteAuthenticationManagerImpl

java.lang.Object
  extended by org.springframework.security.authentication.rcp.RemoteAuthenticationManagerImpl
All Implemented Interfaces:
InitializingBean, RemoteAuthenticationManager

public class RemoteAuthenticationManagerImpl
extends Object
implements RemoteAuthenticationManager, InitializingBean

Server-side processor of a remote authentication request.

This bean requires no security interceptor to protect it. Instead, the bean uses the configured AuthenticationManager to resolve an authentication request.


Constructor Summary
RemoteAuthenticationManagerImpl()
           
 
Method Summary
 void afterPropertiesSet()
           
 Collection<? extends GrantedAuthority> attemptAuthentication(String username, String password)
          Attempts to authenticate the remote client using the presented username and password.
protected  AuthenticationManager getAuthenticationManager()
           
 void setAuthenticationManager(AuthenticationManager authenticationManager)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RemoteAuthenticationManagerImpl

public RemoteAuthenticationManagerImpl()
Method Detail

afterPropertiesSet

public void afterPropertiesSet()
                        throws Exception
Specified by:
afterPropertiesSet in interface InitializingBean
Throws:
Exception

attemptAuthentication

public Collection<? extends GrantedAuthority> attemptAuthentication(String username,
                                                                    String password)
                                                             throws RemoteAuthenticationException
Description copied from interface: RemoteAuthenticationManager
Attempts to authenticate the remote client using the presented username and password. If authentication is successful, a collection of GrantedAuthority objects will be returned.

In order to maximise remoting protocol compatibility, a design decision was taken to operate with minimal arguments and return only the minimal amount of information required for remote clients to enable/disable relevant user interface commands etc. There is nothing preventing users from implementing their own equivalent package that works with more complex object types.

Specified by:
attemptAuthentication in interface RemoteAuthenticationManager
Parameters:
username - the username the remote client wishes to authenticate with.
password - the password the remote client wishes to authenticate with.
Returns:
all of the granted authorities the specified username and password have access to.
Throws:
RemoteAuthenticationException - if the authentication failed.

getAuthenticationManager

protected AuthenticationManager getAuthenticationManager()

setAuthenticationManager

public void setAuthenticationManager(AuthenticationManager authenticationManager)