存储旧会话信息的新会话

时间:2014-01-21 18:04:32

标签: spring spring-security

填写表单后,如果会话在中​​间过期,如果我点击提交,我的页面重定向到登录,输入凭据后,数据会自动保存在数据库中,如何防止这种情况。

我使用了春季安全管理。我在不同的页面面对这个问题。我可以在spring安全文件中进行更改以避免此

任何人都可以帮助我。

提前致谢....

public class AuthenticationSuccessHandlerImpl实现AuthenticationSuccessHandler {

@Resource(name = "sessionRegistry")
private SessionRegistry sessionRegistry;

   String redirectUrl = request.getParameter("spring-security-redirect");

   if(StringUtils.isEmpty(redirectUrl)){
       redirectStrategy.sendRedirect(request, response, "/home");
   }else{
       redirectStrategy.sendRedirect(request, response, redirectUrl);      
   }

}

spring-security-redirect的值是request.getHeader(“referer”)

1 个答案:

答案 0 :(得分:0)

您可以注册accessDeniedHandler的实现 http://docs.spring.io/spring-security/site/docs/3.0.x/apidocs/org/springframework/security/web/access/AccessDeniedHandler.html

所以它将重定向发送到referer中指定的url。你确定你的代码被调用了吗?似乎spring在这里使用savedRequest,而不是来自referer的url。