@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(); } } }