struts2拦截器验证登陆状态

<interceptors>
<!--定义一个名为authority的拦截器-->
<interceptorclass="com.***.rights.RightInterceptor"name="rightInterceptor"/>
<!--定义一个包含权限检查的拦截器栈-->
<interceptor-stackname="mydefault">
<!--配置内建默认拦截器-->
<interceptor-refname="defaultStack"/>
<!--配置自定义的拦截器-->
<interceptor-refname="rightInterceptor"/>
</interceptor-stack>
</interceptors>
<default-interceptor-refname="mydefault"/>
<!--定义全局Result-->
<global-results>
<resultname="login">Login.jsp</result>
<resultname="error">/error.jsp</result>
</global-results>

importjava.util.HashMap;
importjava.util.Map;
importcom.opensymphony.xwork2.Action;
importcom.opensymphony.xwork2.ActionInvocation;
importcom.opensymphony.xwork2.interceptor.AbstractInterceptor;
importcom.opensymphony.xwork2.ActionContext;
publicclassRightInterceptorextendsAbstractInterceptor{

@Override
publicStringintercept(ActionInvocationinvocation)throwsException{
//System.out.println("拦截器开始验证");
try
{
ActionContextactionContext=ActionContext.getContext();
Map<String,Object>session=actionContext.getSession();
Stringuser=session.get("usercode").toString();
//当前用户session无效且访问的action不是登录action时,执行拦截,跳转
if((user==null||user.equals(""))&&!invocation.getAction().getClass().getName().equals("登录action"))
{
returnAction.LOGIN;
}
}
catch(Exceptione)
{
e.printStackTrace();
returnAction.LOGIN;
}
//System.out.println("拦截器通过验证");
returninvocation.invoke();//执行访问的action
}

}

你可能感兴趣的:(struts2拦截器)