当他尝试加载某些页面时,我需要随时处理用户的请求。在这个监听器中,我需要进行一些特殊检查,结果是关闭或不关闭用户的会话。我应该如何实现这个?看起来像是一项常见的任务,但我对 spring 和 spring 安全性很陌生。
问问题
114 次
3 回答
2
我认为听众是观察行为但不影响行为的东西。既然你提到关闭用户的会话,这肯定会影响用户。因此,我认为您在谈论拦截器/过滤器而不是侦听器。
Spring 为这样的事情提供了一个很好的拦截器框架。
但是,由于您在谈论会话,因此这是 Spring Security 的领域。看起来这里有另一种处理会话管理的方法:Is it possible to invalidate a spring security session?
于 2012-12-01T13:13:50.590 回答
0
我认为你应该尝试拦截器。更多细节:
- 创建
HandlerInterceptor
类
public class RequestInitializeInterceptor implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { //Code to perform database checks } }
- 在 servlet-context.xml (ApplicationContext for Servlet) 文件中定义拦截器
<mvc:interceptors> <mvc:interceptor> <!-- Update path as per you requirement --!> <mvc:mapping path="/**"/> <bean class="com.abc.web.support.RequestInitializeInterceptor" /> </mvc:interceptor> </mvc:interceptors>
于 2012-12-03T21:25:16.447 回答