org.springframework.security.web.authentication.preauth.j2ee
Class J2eeBasedPreAuthenticatedWebAuthenticationDetailsSource

java.lang.Object
  extended by org.springframework.security.web.authentication.preauth.j2ee.J2eeBasedPreAuthenticatedWebAuthenticationDetailsSource
All Implemented Interfaces:
InitializingBean, AuthenticationDetailsSource<javax.servlet.http.HttpServletRequest,PreAuthenticatedGrantedAuthoritiesWebAuthenticationDetails>

public class J2eeBasedPreAuthenticatedWebAuthenticationDetailsSource
extends Object
implements AuthenticationDetailsSource<javax.servlet.http.HttpServletRequest,PreAuthenticatedGrantedAuthoritiesWebAuthenticationDetails>, InitializingBean

Implementation of AuthenticationDetailsSource which converts the user's J2EE roles (as obtained by calling HttpServletRequest.isUserInRole(String)) into GrantedAuthoritys and stores these in the authentication details object.

Since:
2.0

Field Summary
protected  Set<String> j2eeMappableRoles
          The role attributes returned by the configured MappableAttributesRetriever
protected  Attributes2GrantedAuthoritiesMapper j2eeUserRoles2GrantedAuthoritiesMapper
           
protected  org.apache.commons.logging.Log logger
           
 
Constructor Summary
J2eeBasedPreAuthenticatedWebAuthenticationDetailsSource()
           
 
Method Summary
 void afterPropertiesSet()
          Check that all required properties have been set.
 PreAuthenticatedGrantedAuthoritiesWebAuthenticationDetails buildDetails(javax.servlet.http.HttpServletRequest context)
          Builds the authentication details object.
protected  Collection<String> getUserRoles(javax.servlet.http.HttpServletRequest request)
          Obtains the list of user roles based on the current user's JEE roles.
 void setMappableRolesRetriever(MappableAttributesRetriever aJ2eeMappableRolesRetriever)
           
 void setUserRoles2GrantedAuthoritiesMapper(Attributes2GrantedAuthoritiesMapper mapper)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

protected final org.apache.commons.logging.Log logger

j2eeMappableRoles

protected Set<String> j2eeMappableRoles
The role attributes returned by the configured MappableAttributesRetriever


j2eeUserRoles2GrantedAuthoritiesMapper

protected Attributes2GrantedAuthoritiesMapper j2eeUserRoles2GrantedAuthoritiesMapper
Constructor Detail

J2eeBasedPreAuthenticatedWebAuthenticationDetailsSource

public J2eeBasedPreAuthenticatedWebAuthenticationDetailsSource()
Method Detail

afterPropertiesSet

public void afterPropertiesSet()
                        throws Exception
Check that all required properties have been set.

Specified by:
afterPropertiesSet in interface InitializingBean
Throws:
Exception

getUserRoles

protected Collection<String> getUserRoles(javax.servlet.http.HttpServletRequest request)
Obtains the list of user roles based on the current user's JEE roles. The HttpServletRequest.isUserInRole(String) method is called for each of the values in the j2eeMappableRoles set to determine if that role should be assigned to the user.

Parameters:
request - the request which should be used to extract the user's roles.
Returns:
The subset of j2eeMappableRoles which applies to the current user making the request.

buildDetails

public PreAuthenticatedGrantedAuthoritiesWebAuthenticationDetails buildDetails(javax.servlet.http.HttpServletRequest context)
Builds the authentication details object.

Specified by:
buildDetails in interface AuthenticationDetailsSource<javax.servlet.http.HttpServletRequest,PreAuthenticatedGrantedAuthoritiesWebAuthenticationDetails>
Parameters:
context - the request object, which may be used by the authentication details object
Returns:
a fully-configured authentication details instance
See Also:
AuthenticationDetailsSource.buildDetails(Object)

setMappableRolesRetriever

public void setMappableRolesRetriever(MappableAttributesRetriever aJ2eeMappableRolesRetriever)
Parameters:
aJ2eeMappableRolesRetriever - The MappableAttributesRetriever to use

setUserRoles2GrantedAuthoritiesMapper

public void setUserRoles2GrantedAuthoritiesMapper(Attributes2GrantedAuthoritiesMapper mapper)
Parameters:
mapper - The Attributes2GrantedAuthoritiesMapper to use