|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.web.filter.GenericFilterBean org.springframework.security.web.authentication.preauth.AbstractPreAuthenticatedProcessingFilter
public abstract class AbstractPreAuthenticatedProcessingFilter
Base class for processing filters that handle pre-authenticated authentication requests. Subclasses must implement
the getPreAuthenticatedPrincipal()
and getPreAuthenticatedCredentials()
methods.
If the security context already contains an Authentication
object (either from a invocation of the
filter or because of some other authentication mechanism), the filter will do nothing by default. You can force
it to check for a change in the principal by setting the checkForPrincipalChanges
property.
By default, the filter chain will proceed when an authentication attempt fails in order to allow other
authentication mechanisms to process the request. To reject the credentials immediately, set the
continueFilterChainOnUnsuccessfulAuthentication flag to false. The exception raised by the
AuthenticationManager will the be re-thrown. Note that this will not affect cases where the principal
returned by getPreAuthenticatedPrincipal(javax.servlet.http.HttpServletRequest)
is null, when the chain will still proceed as normal.
Field Summary |
---|
Fields inherited from class org.springframework.web.filter.GenericFilterBean |
---|
logger |
Constructor Summary | |
---|---|
AbstractPreAuthenticatedProcessingFilter()
|
Method Summary | |
---|---|
void |
afterPropertiesSet()
Check whether all required properties have been set. |
void |
doFilter(ServletRequest request,
ServletResponse response,
FilterChain chain)
Try to authenticate a pre-authenticated user with Spring Security if the user has not yet been authenticated. |
protected abstract Object |
getPreAuthenticatedCredentials(HttpServletRequest request)
Override to extract the credentials (if applicable) from the current request. |
protected abstract Object |
getPreAuthenticatedPrincipal(HttpServletRequest request)
Override to extract the principal information from the current request |
void |
setApplicationEventPublisher(ApplicationEventPublisher anApplicationEventPublisher)
|
void |
setAuthenticationDetailsSource(AuthenticationDetailsSource authenticationDetailsSource)
|
void |
setAuthenticationManager(AuthenticationManager authenticationManager)
|
void |
setCheckForPrincipalChanges(boolean checkForPrincipalChanges)
If set, the pre-authenticated principal will be checked on each request and compared against the name of the current Authentication object. |
void |
setContinueFilterChainOnUnsuccessfulAuthentication(boolean shouldContinue)
|
void |
setInvalidateSessionOnPrincipalChange(boolean invalidateSessionOnPrincipalChange)
If checkForPrincipalChanges is set, and a change of principal is detected, determines whether any existing session should be invalidated before proceeding to authenticate the new principal. |
protected void |
successfulAuthentication(HttpServletRequest request,
HttpServletResponse response,
Authentication authResult)
Puts the Authentication instance returned by the
authentication manager into the secure context. |
protected void |
unsuccessfulAuthentication(HttpServletRequest request,
HttpServletResponse response,
AuthenticationException failed)
Ensures the authentication object in the secure context is set to null when authentication fails. |
Methods inherited from class org.springframework.web.filter.GenericFilterBean |
---|
addRequiredProperty, destroy, getFilterConfig, getFilterName, getServletContext, init, initBeanWrapper, initFilterBean, setBeanName, setServletContext |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public AbstractPreAuthenticatedProcessingFilter()
Method Detail |
---|
public void afterPropertiesSet()
afterPropertiesSet
in interface InitializingBean
afterPropertiesSet
in class GenericFilterBean
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException
doFilter
in interface Filter
IOException
ServletException
protected void successfulAuthentication(HttpServletRequest request, HttpServletResponse response, Authentication authResult)
Authentication
instance returned by the
authentication manager into the secure context.
protected void unsuccessfulAuthentication(HttpServletRequest request, HttpServletResponse response, AuthenticationException failed)
public void setApplicationEventPublisher(ApplicationEventPublisher anApplicationEventPublisher)
setApplicationEventPublisher
in interface ApplicationEventPublisherAware
anApplicationEventPublisher
- The ApplicationEventPublisher to usepublic void setAuthenticationDetailsSource(AuthenticationDetailsSource authenticationDetailsSource)
authenticationDetailsSource
- The AuthenticationDetailsSource to usepublic void setAuthenticationManager(AuthenticationManager authenticationManager)
authenticationManager
- The AuthenticationManager to usepublic void setContinueFilterChainOnUnsuccessfulAuthentication(boolean shouldContinue)
public void setCheckForPrincipalChanges(boolean checkForPrincipalChanges)
checkForPrincipalChanges
- public void setInvalidateSessionOnPrincipalChange(boolean invalidateSessionOnPrincipalChange)
invalidateSessionOnPrincipalChange
- false to retain the existing session. Defaults to true.protected abstract Object getPreAuthenticatedPrincipal(HttpServletRequest request)
protected abstract Object getPreAuthenticatedCredentials(HttpServletRequest request)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |