struts2 拦截器验证权限

本文介绍了一种基于Struts2框架实现的权限拦截器,该拦截器可以在Action调用前进行权限验证,若未通过验证则跳转到登录页面或权限不足页面。此外,还提供了如何在struts.xml中配置此拦截器的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

struts2 拦截器验证权限
1.在action调用前拦截
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.AbstractInterceptor;

public class AuthorityInterceptor extends AbstractInterceptor {

private static final long serialVersionUID = 1L;
@Override
public String intercept(ActionInvocation arg0) throws Exception {
//action 名称
String actionName=arg0.getInvocationContext().getName();
System.out.println("action name:"+actionName);
//action 参数
//Map parameters=arg0.getInvocationContext().getParameters();
          ActionContext context = arg0.getInvocationContext();
          Map<String, Object> session = context.getSession();
          String flag =(String) session.get("flag");        
          if(null == flag){
          System.out.println("session验证失败");
              return "login";
          }
                    //验证权限        
          if(CheckLimit(action))
return arg0.invoke();
      System.out.println("权限验证失败");
        return "quanxian";
         
      }

}
2.配置struts.xml文件
<interceptors>
              <interceptor   class="com.sunny.filter.AuthorityInterceptor" name="authority"/> 
              <interceptor-stack name="mydefault">
                  <interceptor-ref name="defaultStack"></interceptor-ref>
                  <interceptor-ref name="authority"></interceptor-ref>
              </interceptor-stack>
          </interceptors>
<default-interceptor-ref name="mydefault"/>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值