package com.liang.bike.interceptor; import com.liang.bike.bean.base.UserBase; import org.apache.log4j.Logger; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; public class LoginInterceptor implements HandlerInterceptor { private Logger logger = Logger.getLogger(LoginInterceptor.class); // 身份认证、身份授权 @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { // 判断session HttpSession session = request.getSession(); UserBase user = (UserBase) session.getAttribute("user"); boolean flag = false; if (user != null) { flag = true; } else { // 获取请求的url String redirectUrl = request.getRequestURI(); session.setAttribute("redirectUrl", redirectUrl); String bikeNo = request.getParameter("bikeNo"); session.setAttribute("bikeNo", bikeNo); logger.info("请求的URL" + redirectUrl + bikeNo); // 执行这里表示用户身份需要认证,跳转登陆页面 logger.info("跳转到登录页面:login.jsp"); request.getRequestDispatcher("/WEB-INF/bike/user/login.jsp").forward(request, response); } return flag; } @Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { logger.info("拦截器postHandle方法执行"); } @Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { logger.info("拦截器afterCompletion方法执行"); } }