struts2--拦截器(非登录用户不可跳转至该页面)

拦截器类:

public class PrivilegeInterceptor extends MethodFilterInterceptor{
    //执行拦截器的方法
    @Override
    protected String doIntercept(ActionInvocation arg0) throws Exception {
        // TODO Auto-generated method stub
        //判断session中是否保存了后台用户的信息
        AdminUser adminUser = (AdminUser) ServletActionContext.getRequest().getSession().getAttribute("adminUser");
        if(adminUser == null) {
            //没有登录
            ActionSupport actionSupport =  (ActionSupport) arg0.getAction();
            actionSupport.addActionError("您还没有登录,没有访问权限!");
            return "loginfail";     
        }else {
            //已登录,允许执行
            return arg0.invoke();
        }

    }



}

struts.xml文件中配置:

<!-- 一定要写在上面,否则报错-->
<interceptors>
    <interceptor name="PrivilegeInterceptor"
    class="fjnu.lxf.myshop.interceptor.PrivilegeInterceptor"></interceptor>
</interceptors>

<global-results>
    <result name="loginfail">/admin/index.jsp</result>
</global-results>

<!-- 在需要拦截的Action里配置 例如:-->

<!-- 后台一级分类管理的Action -->
<action name="adminCategory_*" class="adminCategoryAction" method="{1}">
    <result name="findAll">/admin/category/list.jsp</result>
    <result name="savesuccess" type="redirectAction" >adminCategory_findAll.action</result>
    <result name="deletesuccess" type="redirectAction" >adminCategory_findAll.action</result>
    <result name="editsuccess">/admin/category/edit.jsp</result>
    <result name="updatesuccess" type="redirectAction" >adminCategory_findAll.action</result>
    <!-- 引入自定义的拦截器以及默认的拦截器 -->
    <interceptor-ref name="PrivilegeInterceptor"></interceptor-ref>
    <interceptor-ref name="defaultStack"></interceptor-ref>
</action>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值