在spring mvc过滤器或拦截器中处理会话管理的最佳方法

时间:2014-10-09 06:55:08

标签: java jsp session spring-mvc

要求:

在每个动作之前意味着每个控制器方法,即处理程序,我必须检查会话是否有效。    如果会话有效,请检查会话中的用户登录详细信息可用性,否则应在会话中设置这些详细信息。   如果会话无效,则应将其重定向到登录页面。

可以让我知道哪个符合我的要求。

3 个答案:

答案 0 :(得分:1)

您还可以在调度程序servlet中配置自定义interceptor

<mvc:interceptors>
    <bean class="com.CusInterceptor"/>
</mvc:interceptors>

扩展类HandlerInterceptorAdapter并覆盖preHandle()方法以拦截所有请求。

public class CusInterceptorextends HandlerInterceptorAdapter {
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {

    // verify user session here and process it for further operations  
    }

答案 1 :(得分:0)

使用Spring Security。它将在会话中存储安全上下文对象,保存所有凭据等。例如,security filter chain将确保此对象有效,或将用户重定向到登录页面。

答案 2 :(得分:0)

同意那个@Stefan。使用Spring Security(我们在mvc应用程序中使用相同的会话身份验证/验证)。 但请记住, Ajax 调用需要稍微调整才能让它们重定向到登录页面。否则你只会得到一个错误页面响应,你可能会或可能不会在JS解析/处理(客户)级别