Man*_*sal 4 java session httpsession spring-boot
我想使用用户发送的名称设置会话属性。用户将首先登录。当他登录时,我希望他的用户名将设置为会话属性。
我该怎么办?
这是我的控制器:
@GetMapping("/login")
public String login() {
return "Login";
}
@PostMapping("/loginCheck")
public String checkLogin(@ModelAttribute("users") Users user) {
if (userService.checkUser(user)) {
return "redirect:/"+user.getUsername()+"/";
} else {
return "Login";
}
}
@PostMapping("/signup")
public ModelAndView createuser(@ModelAttribute("users") Users user) {
if (userService.checkUser(user)) {
return new ModelAndView("Login");
} else {
userService.adduser(user);
return new ModelAndView("Login");
}
}
Run Code Online (Sandbox Code Playgroud)
现在我如何将用户名设置为我进入的会话user.getUsername()?
在 SpringMVC 中,您可以通过将 HttpSession 作为参数添加到您的方法中来自动注入 HttpSession。因此,您登录可能类似于:
@GetMapping("/login")
public String login(@ModelAttribute("users") Users user, HttpSession session)
{
if(userService.authUser(user)) { //Made this method up
session.setAttribute("username", user.getUsername());
view.setViewName("homepage"); //Made up view
}
else{
return new ModelAndView("Login");
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13334 次 |
| 最近记录: |