//定义interceptor类并实现Handlerlnterceptor接口
public class userInterceptor extends HandlerInterceptorAdapter{
public boolean preHandle(HttpServletRequest request,
HttpServletResponse response, Object handler) throws Exception {
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
HttpSession session=request.getSession();
Manager manager =(Manager) session.getAttribute(ManagerContant.KB_SYS_MANAGER_LOGIN_KEY);
System.out.println("当前session为: "+manager);
//不是超级管理员
if(!manager.getRole().equals(0)){
LOG.info("ID:"+manager.getId()+",没有权限进入安全管理");
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
StringBuilder builder = new StringBuilder();
builder.append("<script type='text/javascript' charset='UTF-8'>");
builder.append("alert('没有权限进入安全管理!');");
builder.append("window.history.go(-1);");
builder.append("</script>");
out.print(builder.toString());
out.close();
return false;
}
return true;
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
super.afterCompletion(request, response, handler, ex);
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
super.postHandle(request, response, handler, modelAndView);
}
}
配置文件
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/v1/**" /> //拦截方法
<bean class="com.kuaibi.operate.inerceptor.ManagerInterceptor"></bean> //指定拦截类
</mvc:interceptor>
</mvc:interceptors>