个人记录
1 拦截器类继承MethodFilterInterceptor
@Override
protected String doIntercept(ActionInvocation invocation) throws Exception {
ActionContext ac = invocation.getInvocationContext();
Map<String,Object> session = ac.getSession();
Integer userId = (Integer)session.get("userId");
HttpServletRequest request = (HttpServletRequest)ac.get(StrutsStatics.HTTP_REQUEST);
String uri = request.getServletPath();
int decimalIndex = uri.lastIndexOf(".");
uri = uri.substring(0, decimalIndex);
System.out.println(uri);
if("/login".equals(uri) || "/logout".equals(uri) ){
return invocation.invoke();
}else if(userId == null ){
return "loginPage";
}else{
List<String> priList = (List<String>)session.get("userPrivilege");
if(priList.contains(uri)){
return invocation.invoke();
}else{
if(uri.endsWith("ajax")){
HttpServletResponse response = (HttpServletResponse)ac.get(StrutsStatics.HTTP_RESPONSE);
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
String message = "没有权限";
out.println(message);
out.flush();
out.close();
return null;
}else{
return "authFail";
}
}
}
}