有一个简单的根主页,每个人都可以看到。但是已经注册或者登录成功的那个,那么你需要把他重定向到下面的URL:HOMEURL/profile/{userId},很明显userId就是用户id。另外,如果未经授权的人只是在 URL 中使用 */profile/{userId} 输入以下地址,spring 也应该请求授权。问题是我不明白如何创建重定向到授权用户的个人资料 URl,并在 URL 的末尾使用他们的 ID。
例如:
@RequestMapping(value = "/registration", method = RequestMethod.POST)
public String registration(@ModelAttribute("userForm") User userForm, BindingResult bindingResult, Model model) {
userValidator.validate(userForm, bindingResult);
if (bindingResult.hasErrors()) {
return "registration";
}
userService.save(userForm);
securityService.autologin(userForm.getUsername(), userForm.getPasswordConfirm());
return "redirect:/profile/{userId}";
}
从上面可以看出,有必要以某种方式将授权用户的真实 ID 插入到 return 中,而不是 /profile/{userId}。
最简单最自然的方法是将链接中的标识符更改为名称:
或者修复该方法
autologin,使其在成功时返回一个 ID: