struts2通过拦截器实现用户权限验证
在需要验证的包上加上配置
<interceptors>
<!-- 定义了一个名为mylogin的拦截器 -->
<interceptor name="mylogin" class="Action.LogonInterceptor" />
<interceptor-stack name="logintest">
<interceptor-ref name="mylogin" />
<interceptor-ref name="paramsPrepareParamsStack" />
</interceptor-stack>
</interceptors>
<!-- 默认执行的拦截器 -->
<default-interceptor-ref name="logintest" />
<global-results>
<!-- 当返回login视图名时,转入/login.jsp页面 -->
<result name="login" type="redirect">/login.jsp</result>
</global-results>
/**
*
*/
package Action;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
/**
* @author hbl//用户登陆权限验证;
*
*/
public class LogonInterceptor extends AbstractInterceptor {
public String intercept(ActionInvocation invocation) throws Exception {
// 取得请求相关的ActionContext实例
ActionContext ctx=invocation.getInvocationContext();
if(ctx.getSession().get("userinfo")==null)//未登陆
{
// return invocation.invoke();
return "login";
}
return invocation.invoke();
}
}
第一次使用,只是简单的测试,用户的session,作个标记。