package com.jarvis.cache.aop.cglib;
import java.lang.reflect.Method;
import net.sf.cglib.proxy.CallbackFilter;
public class AuthProxyFilter implements CallbackFilter {
public int accept(Method arg0) {
/*
* 如果调用的不是query方法,则要调用authProxy拦截器去判断权限
*/
if(!"query".equalsIgnoreCase(arg0.getName())) {
return 0; // 调用第一个方法拦截器,即authProxy
}
/*
* 调用第二个方法拦截器,即NoOp.INSTANCE,NoOp.INSTANCE是指不做任何事情的拦截器 在这里就是任何人都有权限访问query方法,所以调用默认拦截器不做任何处理
*/
return 1;
}
}