Spring Boot整合Mybatis制作登录页面(含拦截器,Spring Boot整合Junit,日志记录器)
@Controller
public class LoginController {
@Autowired
private UserService userService;
@GetMapping("/login")
public String loginPage() {
return "login";
}
@PostMapping("/login")
public String login(@RequestParam String username, @RequestParam String password, HttpSession session, RedirectAttributes attributes) {
User user = userService.checkUser(username, password);
if (user != null) {
session.setAttribute("user", user);
return "redirect:/main";
} else {
attributes.addFlashAttribute("message", "用户名或密码错误");
return "redirect:/login";
}
}
@GetMapping("/logout")
public String logout(HttpSession session) {
session.removeAttribute("user");
return "redirect:/login";
}
}
在这个简化的代码示例中,我们定义了一个LoginController
来处理登录和注销的HTTP请求。我们使用了@Controller
注解来标识这是一个控制器类,而不是@RestController
,因为我们需要处理返回HTML视图的请求。我们使用了@Autowired
来自动装配UserService
的实例,并在login
方法中调用了checkUser
方法来验证用户凭据。如果用户验证成功,我们将用户信息存储在HTTP会话中,并重定向到主页;如果失败,我们将一个错误消息添加到模型中,并重定向回登录页面。注销方法则从会话中移除用户信息,并重定向回登录页面。
评论已关闭