Spring Boot整合Mybatis制作登录页面(含拦截器,Spring Boot整合Junit,日志记录器)
    		       		warning:
    		            这篇文章距离上次修改已过421天,其中的内容可能已经有所变动。
    		        
        		                
                
@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会话中,并重定向到主页;如果失败,我们将一个错误消息添加到模型中,并重定向回登录页面。注销方法则从会话中移除用户信息,并重定向回登录页面。
评论已关闭