这里我有一个更改密码页面。一旦密码成功更改,我会将用户注销,但在登录他/她之前,我必须通知用户密码已成功更改。我应该怎么做?以下是我的代码:
@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";
}
}
我想这是一个简单的伎俩,但我无法理解......
答案 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";
在您的注销页面上添加一些额外的逻辑来处理此请求参数。