注销前的Spring安全警报用户

时间:2015-01-19 06:13:05

标签: spring spring-security

这里我有一个更改密码页面。一旦密码成功更改,我会将用户注销,但在登录他/她之前,我必须通知用户密码已成功更改。我应该怎么做?以下是我的代码:

@RequestMapping(value = "/changepassword", method = RequestMethod.POST)
public String change(Model model, String oldPassword, String newPassword, Principal principal) throws NoSuchAlgorithmException {

    //Some method

        return "redirect:/somename/j_spring_security_logout";
    }
}

我想这是一个简单的伎俩,但我无法理解......

1 个答案:

答案 0 :(得分:1)

我看到两个选项:

1.只需进行ajax调用即可更改密码。然后在客户端而不是服务器端重定向。例如(javascript中的mnemo代码)

ajaxCall.success = {
    showMessage("Your session will be terminated. Please login again.")
    //wait for 3 seconds and then redirect
    setTimeout(function(){ window.location = "/somename/j_spring_security_logout" }, 3000);

} 

2.保持代码不变,只需在重定向上添加一个请求参数:

return "redirect:/somename/j_spring_security_logout?notify_about_password=true";

在您的注销页面上添加一些额外的逻辑来处理此请求参数。