gpt4 book ai didi

java - 如何在 Spring Boot 中设置 session 属性?

转载 作者:行者123 更新时间:2023-12-01 14:10:59 26 4
gpt4 key购买 nike

我想使用用户发送的名称设置 session 属性。用户将首先登录。当他登录时,我希望他的用户名将设置为 session 属性。

我该怎么办?

这是我的 Controller :

@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");
}
}

现在我如何将用户名设置为我进入 user.getUsername() 的 session ?

最佳答案

在 SpringMVC 中,您可以通过将 HttpSession 作为参数添加到您的方法来自动注入(inject) 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");
}
}

关于java - 如何在 Spring Boot 中设置 session 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49333907/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com