spring mvc中配置拦截器
ApplicationContext-mvc.xml中
<!-- 访问拦截 --> <!-- /**/**代表拦截所有,LoginHandlerInterceptor定义拦截到的页面 --> <mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/**/**"/> <bean class="com.ecai.interceptor.LoginHandlerInterceptor"/> </mvc:interceptor> </mvc:interceptors>
LoginHandlerInterceptor.java中
package com.ecai.interceptor;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
import com.ecai.entity.system.User;
import com.ecai.util.Const;
import com.ecai.util.Jurisdiction;
/**
*
* 类名称:登录过滤,权限验证
* 类描述:
* 作者单位:
* 联系方式:
* 创建时间:2015年11月2日
* @version 1.6
*/
public class LoginHandlerInterceptor extends HandlerInterceptorAdapter{
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
// TODO Auto-generated method stub
String path = request.getServletPath();
if(path.matches(Const.NO_INTERCEPTOR_PATH)){
return true;
}else{
User user = (User)Jurisdiction.getSession().getAttribute(Const.SESSION_USER);
if(user!=null){
path = path.substring(1, path.length());
boolean b = Jurisdiction.hasJurisdiction(path); //访问权限校验
if(!b){
response.sendRedirect(request.getContextPath() + Const.LOGIN);
}
return b;
}else{
//登陆过滤
response.sendRedirect(request.getContextPath() + Const.LOGIN);
return false;
}
}
}
}

浙公网安备 33010602011771号