public class LogoutFilter
extends org.springframework.web.filter.GenericFilterBean
Polls a series of LogoutHandler
s. The handlers should be specified in the order
they are required. Generally you will want to call logout handlers
TokenBasedRememberMeServices
and SecurityContextLogoutHandler
(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 and Description |
---|
LogoutFilter(LogoutSuccessHandler logoutSuccessHandler,
LogoutHandler... handlers)
Constructor which takes a LogoutSuccessHandler instance to determine the
target destination after logging out.
|
LogoutFilter(java.lang.String logoutSuccessUrl,
LogoutHandler... handlers) |
Modifier and Type | Method and Description |
---|---|
void |
doFilter(javax.servlet.ServletRequest req,
javax.servlet.ServletResponse res,
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) |
public LogoutFilter(LogoutSuccessHandler logoutSuccessHandler, LogoutHandler... handlers)
public LogoutFilter(java.lang.String logoutSuccessUrl, LogoutHandler... handlers)
public void doFilter(javax.servlet.ServletRequest req, javax.servlet.ServletResponse res, javax.servlet.FilterChain chain) throws java.io.IOException, javax.servlet.ServletException
java.io.IOException
javax.servlet.ServletException
protected boolean requiresLogout(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
request
- the requestresponse
- the responsetrue
if logout should occur, false
otherwisepublic void setLogoutRequestMatcher(RequestMatcher logoutRequestMatcher)
public void setFilterProcessesUrl(java.lang.String filterProcessesUrl)