1.思路编写一个自己的拦截器,通过登录以后在session中存放一个值,编写拦截器,拦截除去静态资源的请求和登录请求,然后获取request中间获取session值情况判断,如果有正常放行,没有就返回登录页面。
implements HandlerInterceptor
//拦截器
public class LoginHandlerintercepter implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
//登录成功以后放置一个session
Object loginUser=request.getSession().getAttribute("uname");
if (loginUser==null){
request.setAttribute("msg","没有权限,请先登录");
/* System.out.println("拦截");*/
request.getRequestDispatcher("/login").forward(request,response);
return false;
}else {
return true;
}
}
}
AIT+Insert重写
//拦截器 @Override public void addInterceptors(InterceptorRegistry registry) { //添加自己的拦截器并且设置拦截请求的范围/addPathPatterns("/**")全部 registry.addInterceptor(new LoginHandlerintercepter()).addPathPatterns("/**") .excludePathPatterns("/login.html","/","/loginto","/login","/css/*","/email_templates/*","/font-awesome/*","/fonts/*","/img/*","/js/*","/layui/*","/META-INF/*"); }
控制器编写session
@Controller
public class LoginController {
@RequestMapping("/loginto")
public ModelAndView login(String uname, String password, HttpSession session){
ModelAndView modelAndView=new ModelAndView();
if (uname.equals("sheep") && password.equals("5519")){
//重定向过去
session.setAttribute("uname",uname);
modelAndView.setViewName("redirect:/index");
}else{
modelAndView.addObject("msg","密码错误");
modelAndView.setViewName("login");
}
return modelAndView;
}
}
前端取session
<strong class="font-bold">[[${session.uname}]]</strong>