authorityinterceptor.java

来自「基于Sturts+Spring+Hibernate的一个高级销售管理系统。内容丰」· Java 代码 · 共 31 行

JAVA
31
字号
package com.yuanchung.sales.struts.authority;

import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionMapping;

import com.yuanchung.sales.util.*;

import org.aopalliance.intercept.MethodInterceptor;
import org.aopalliance.intercept.MethodInvocation;
public class AuthorityInterceptor implements MethodInterceptor{
    //执行目标方法时,将由该方法替代
    public Object invoke(MethodInvocation invocation) throws Throwable{    	
        HttpServletRequest request = null;
        ActionMapping mapping = null;
        //获取目标方法的全部参数
        Object[] args = invocation.getArguments();
        for (int i = 0 ; i < args.length ; i++ ) {
            if (args[i] instanceof HttpServletRequest) request = (HttpServletRequest)args[i];
            if (args[i] instanceof ActionMapping) mapping = (ActionMapping)args[i];
        }
        //如果用户已经登录
        if ( request.getSession().getAttribute(Constants.SESSION_USER) != null){
        	//继续执行目标方法 
            return invocation.proceed();
        } else {
        	request.setAttribute("loginerror", Constants.MESSAGE);
            return mapping.findForward("login");
        }
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?