@Override
public String intercept(ActionInvocation invocation) throws Exception {
ActionContext actionContext = invocation.getInvocationContext();
Map<String,Object> session = actionContext.getSession();
HttpServletRequest request= (HttpServletRequest) actionContext.get(StrutsStatics.HTTP_REQUEST);
String methodName = invocation.getProxy().getMethod();
String actionName = actionContext.getName();
UserVo userVo=(UserVo)session.get("userVo");
//如果是登录面,不检查session
if((actionName.equals("userAjax") && methodName.equals("login"))
|| (actionName.equals("danweiAjax") && methodName.equals("getDanWeiList"))
|| (actionName.equals("userAjax") && methodName.equals("checkUserExist"))
|| (actionName.equals("userAjax") && methodName.equals("checkUserExist_ganbuzhuce"))
|| (actionName.equals("userAjax") && methodName.equals("loadMessage"))
|| (actionName.equals("danweiAjax") && methodName.equals("addGanbuzhuce"))
){
return invocation.invoke();
}
if(userVo==null){
request.setAttribute("errorMessage", "登录超时,请重新登录!");
return "error";
}else{
return invocation.invoke();
}
}
![]()
package com.dafu.util;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.StrutsStatics;
import com.dafu.model.User;
import com.dafu.vo.UserVo;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.Interceptor;
public class CheckUserInterceptor implements Interceptor {
/**
*
*/
private static final long serialVersionUID = -4295779087746721183L;
@Override
public void destroy() {
}
@Override
public void init() {
}
@Override
public String intercept(ActionInvocation invocation) throws Exception {
ActionContext actionContext = invocation.getInvocationContext();
Map<String,Object> session = actionContext.getSession();
HttpServletRequest request= (HttpServletRequest) actionContext.get(StrutsStatics.HTTP_REQUEST);
String methodName = invocation.getProxy().getMethod();
String actionName = actionContext.getName();
UserVo userVo=(UserVo)session.get("userVo");
//如果是登录面,不检查session
if((actionName.equals("userAjax") && methodName.equals("login"))
|| (actionName.equals("danweiAjax") && methodName.equals("getDanWeiList"))
|| (actionName.equals("userAjax") && methodName.equals("checkUserExist"))
|| (actionName.equals("userAjax") && methodName.equals("checkUserExist_ganbuzhuce"))
|| (actionName.equals("userAjax") && methodName.equals("loadMessage"))
|| (actionName.equals("danweiAjax") && methodName.equals("addGanbuzhuce"))
){
return invocation.invoke();
}
if(userVo==null){
request.setAttribute("errorMessage", "登录超时,请重新登录!");
return "error";
}else{
return invocation.invoke();
}
}
}