用户权限拦截(session验证)
1.首先我们先看用户信息是怎么存到session里的
@RequestMapping("/login")
public String login(String username, String password, Model model, HttpSession session){
User user = new User();
user.setUsername(username);
user.setPassword(password);
user = devUserService.login(user);
if (user != null){
//登录成功
Integer loginfrequency = user.getLoginfrequency() + 1;
user.setLoginfrequency(loginfrequency);
boolean flag = devUserService.updateLoginfrequency(user);
int count = devUserService.count();
if (flag){
session.setAttribute("count", count);
session.setAttribute("user",user);
model.addAttribute("devUser", user);
return "houtaiindex";
}
model.addAttribute("errMsg","操作失误");//对应上方显示次数,登录人,留言数量
return "login";
}else{
//登录失败
model.addAttribute("errMsg","用户名或密码错误");//对应密码
return "login";
}
}
使用HttpSession session 去存我们的用户信息
然后当我们没有登录时,如果去请求后台,就会跳转到登录页面。
@RequestMapping("/find")
public String findAll(Model model,HttpServletRequest request){
//获取session
HttpSession session = request.getSession();
if(session.getAttribute("user")==null){
model.addAttribute("map",null);
return "login";
}
model.addAttribute("map", productService.queryProductDate());
return "producttable";
}
在这里如果session.getAttribute(“user”)==null 说明我们没有登录,所以返回到login.jsp 这样就完成了通过session对请求的控制。
文章
https://blog.csdn.net/qq_47795171/article/details/106449479
源码地址
https://github.com/zhoushibo-111/SSMairuiqiwebsite
或者
https://gitee.com/zhoushiwangchao/SSMairuiqiwebsite