Class LogoutFilter
- java.lang.Object
-
- org.springframework.web.filter.GenericFilterBean
-
- org.springframework.security.web.authentication.logout.LogoutFilter
-
- All Implemented Interfaces:
javax.servlet.Filter
,org.springframework.beans.factory.Aware
,org.springframework.beans.factory.BeanNameAware
,org.springframework.beans.factory.DisposableBean
,org.springframework.beans.factory.InitializingBean
,org.springframework.context.EnvironmentAware
,org.springframework.core.env.EnvironmentCapable
,org.springframework.web.context.ServletContextAware
public class LogoutFilter extends org.springframework.web.filter.GenericFilterBean
Logs a principal out.Polls a series of
LogoutHandler
s. The handlers should be specified in the order they are required. Generally you will want to call logout handlersTokenBasedRememberMeServices
andSecurityContextLogoutHandler
(in that order).After logout, a redirect will be performed to the URL determined by either the configured LogoutSuccessHandler or the logoutSuccessUrl, depending on which constructor was used.
-
-
Constructor Summary
Constructors Constructor Description LogoutFilter(java.lang.String logoutSuccessUrl, LogoutHandler... handlers)
LogoutFilter(LogoutSuccessHandler logoutSuccessHandler, LogoutHandler... handlers)
Constructor which takes a LogoutSuccessHandler instance to determine the target destination after logging out.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
doFilter(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, javax.servlet.FilterChain chain)
protected boolean
requiresLogout(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
Allow subclasses to modify when a logout should take place.void
setFilterProcessesUrl(java.lang.String filterProcessesUrl)
void
setLogoutRequestMatcher(RequestMatcher logoutRequestMatcher)
-
-
-
Constructor Detail
-
LogoutFilter
public LogoutFilter(LogoutSuccessHandler logoutSuccessHandler, LogoutHandler... handlers)
Constructor which takes a LogoutSuccessHandler instance to determine the target destination after logging out. The list of LogoutHandlers are intended to perform the actual logout functionality (such as clearing the security context, invalidating the session, etc.).
-
LogoutFilter
public LogoutFilter(java.lang.String logoutSuccessUrl, LogoutHandler... handlers)
-
-
Method Detail
-
doFilter
public void doFilter(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, javax.servlet.FilterChain chain) throws java.io.IOException, javax.servlet.ServletException
- Throws:
java.io.IOException
javax.servlet.ServletException
-
requiresLogout
protected boolean requiresLogout(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
Allow subclasses to modify when a logout should take place.- Parameters:
request
- the requestresponse
- the response- Returns:
true
if logout should occur,false
otherwise
-
setLogoutRequestMatcher
public void setLogoutRequestMatcher(RequestMatcher logoutRequestMatcher)
-
setFilterProcessesUrl
public void setFilterProcessesUrl(java.lang.String filterProcessesUrl)
-
-