标签:
package com.shoufubang.web.interceptor;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
public class MyInterceptor extends HandlerInterceptorAdapter {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response,
Object handler) throws Exception {
// 获得请求路径的uri
String uri = request.getRequestURI();
// 判断路径是登录验证,是的话执行Controller中定义的方法
if(uri.endsWith("/login")) {
return true;
}
if(uri.endsWith("/companylogin")) {
return true;
}
// 进入登录页面,判断session中是否值,有的话继续执行
if(request.getSession() != null && request.getSession().getAttribute("adminUser") != null) {
return true;
}
if(request.getSession() != null && request.getSession().getAttribute("adminCompany") != null) {
return true;
}
// 其他情况判断session中是否有key,有的话继续用户的操作
if(request.getSession() != null && request.getSession().getAttribute("adminUser") != null) {
return true;
}
if(request.getSession() != null && request.getSession().getAttribute("adminCompany") != null) {
return true;
}
// 以上所有情况都不成立则进入登录页面
response.sendRedirect(request.getContextPath() + "/login.jsp");
return false;
}
}
个人感觉这个拦截器还是比较全面的
标签:
原文地址:http://www.cnblogs.com/dengheng/p/5798954.html