public class ConcurrentSessionFilter
extends org.springframework.web.filter.GenericFilterBean
This filter performs two functions. First, it calls
SessionRegistry.refreshLastRequest(String)
for each request so that registered sessions always have a correct "last update"
date/time. Second, it retrieves a
SessionInformation
from the
SessionRegistry
for each request and checks if the session has been marked
as expired. If it has been marked as expired, the configured logout handlers will be
called (as happens with
LogoutFilter
), typically
to invalidate the session. A redirect to the expiredURL specified will be performed,
and the session invalidation will cause an
HttpSessionDestroyedEvent
to be
published via the
HttpSessionEventPublisher
registered
in web.xml
.
Constructor and Description |
---|
ConcurrentSessionFilter(SessionRegistry sessionRegistry) |
ConcurrentSessionFilter(SessionRegistry sessionRegistry,
java.lang.String expiredUrl) |
Modifier and Type | Method and Description |
---|---|
void |
afterPropertiesSet() |
protected java.lang.String |
determineExpiredUrl(javax.servlet.http.HttpServletRequest request,
SessionInformation info) |
void |
doFilter(javax.servlet.ServletRequest req,
javax.servlet.ServletResponse res,
javax.servlet.FilterChain chain) |
void |
setLogoutHandlers(LogoutHandler[] handlers) |
void |
setRedirectStrategy(RedirectStrategy redirectStrategy) |
public ConcurrentSessionFilter(SessionRegistry sessionRegistry)
public ConcurrentSessionFilter(SessionRegistry sessionRegistry, java.lang.String expiredUrl)
public void afterPropertiesSet()
afterPropertiesSet
in interface org.springframework.beans.factory.InitializingBean
afterPropertiesSet
in class org.springframework.web.filter.GenericFilterBean
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 java.lang.String determineExpiredUrl(javax.servlet.http.HttpServletRequest request, SessionInformation info)
public void setLogoutHandlers(LogoutHandler[] handlers)
public void setRedirectStrategy(RedirectStrategy redirectStrategy)