登录拦截器
1、登录拦截器
为了解决直接访问http://localhost:8080/kuang/main.html
也可以登录进后台页面的问题
我们需要自定义登录拦截器,在config
包下创建登录拦截器LoginHandlerInterceptor.java
类
用户登录成功后,后台会得到用户信息;如果没有登录,则不会有任何的用户信息;
我们就可以利用这一点通过拦截器进行拦截:
- 当用户登录时将用户信息存入session中,访问页面时首先判断session中有没有用户的信息
- 如果没有,拦截器进行拦截
- 如果有,拦截器放行
我们首先在LoginController.java
中设置登录成功后,将用户名放入session中
public String login(@RequestParam("username") String username,
@RequestParam("password") String password,
Model model,
HttpSession session){
// 具体的业务,先简单设置为用户名不为空且密码为123456就可以登录成功
if(!StringUtils.isEmpty(username) && "123456".equals(password)){
// 登录成功,防止表单重复提交,可以重定向到主页
session.setAttribute("loginUser", username