2016-02-06 23 views
0

我运行与Spring MVC和Spring Security的Jetty 9.3。我的主页被JSP中的Spring Security Login页面拦截。问题在于我的SessionTimeoutIntercepter会在会话超时的情况下重定向。会话超时时我想要做什么 - 用“Session expired”等参数重定向到Spring Security Login页面。问题是,session.isNew(),我总是返回false(((我尝试映射到*“/ **”* - 相同的结果。即使在我的第一个请求到服务器和登录页面 - 此功能返回FALSE(((有人可以帮我,为什么?码头与春天MVC session.isNew()返回总是假

回答

0

我认为,有些人可能会做这样的事情

Session session = request.getSession(); 
if(session.isNew()) { 
    //doSmth 
} 

但方法的getSession(),如果它不存在尚未返回新的会话。你需要的getSession(假) - 它不创建新的会话,只是返回null,如果它不存在或返回超时过期的旧会话。 在你的情况下,你可以添加一些逻辑到拦截器

Session session = request.getSession(false); 
if(session == null || session.isNew() { 
    // do redirect 
}