public class org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor extends org.springframework.aop.support.StaticMethodMatcherPointcutAdvisor
{
private static final org.slf4j.Logger log;
private static final java.lang.Class[] AUTHZ_ANNOTATION_CLASSES;
protected org.apache.shiro.mgt.SecurityManager securityManager;
public void <init>()
{
org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor v;
org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor v;
v := @this: org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor;
specialinvoke v.<org.springframework.aop.support.StaticMethodMatcherPointcutAdvisor: void <init>()>();
v.<org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor: org.apache.shiro.mgt.SecurityManager securityManager> = null;
v = new org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor;
specialinvoke v.<org.apache.shiro.spring.security.interceptor.AopAllianceAnnotationsAuthorizingMethodInterceptor: void <init>()>();
virtualinvoke v.<org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor: void setAdvice(org.aopalliance.aop.Advice)>(v);
return;
}
public org.apache.shiro.mgt.SecurityManager getSecurityManager()
{
org.apache.shiro.mgt.SecurityManager v;
org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor v;
v := @this: org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor;
v = v.<org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor: org.apache.shiro.mgt.SecurityManager securityManager>;
return v;
}
public void setSecurityManager(org.apache.shiro.mgt.SecurityManager)
{
org.apache.shiro.mgt.SecurityManager v;
org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor v;
v := @this: org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor;
v := @parameter: org.apache.shiro.mgt.SecurityManager;
v.<org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor: org.apache.shiro.mgt.SecurityManager securityManager> = v;
return;
}
public boolean matches(java.lang.reflect.Method, java.lang.Class)
{
java.lang.NoSuchMethodException v;
java.lang.Class[] v;
java.lang.Class v;
java.lang.String v;
org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor v;
java.lang.reflect.Method v, v;
boolean v, v, v, v;
v := @this: org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor;
v := @parameter: java.lang.reflect.Method;
v := @parameter: java.lang.Class;
v = specialinvoke v.<org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor: boolean isAuthzAnnotationPresent(java.lang.reflect.Method)>(v);
if v == 0 goto label;
return 1;
label:
if v == null goto label;
label:
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Class[] getParameterTypes()>();
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Method getMethod(java.lang.String,java.lang.Class[])>(v, v);
v = specialinvoke v.<org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor: boolean isAuthzAnnotationPresent(java.lang.reflect.Method)>(v);
if v != 0 goto label;
v = specialinvoke v.<org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor: boolean isAuthzAnnotationPresent(java.lang.Class)>(v);
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
label:
v := @caughtexception;
label:
return 0;
catch java.lang.NoSuchMethodException from label to label with label;
}
private boolean isAuthzAnnotationPresent(java.lang.Class)
{
int v, v;
java.lang.'annotation'.Annotation v;
java.lang.Class[] v;
java.lang.Class v, v;
org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor v;
v := @this: org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor;
v := @parameter: java.lang.Class;
v = <org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor: java.lang.Class[] AUTHZ_ANNOTATION_CLASSES>;
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = staticinvoke <org.springframework.core.'annotation'.AnnotationUtils: java.lang.'annotation'.Annotation findAnnotation(java.lang.Class,java.lang.Class)>(v, v);
if v == null goto label;
return 1;
label:
v = v + 1;
goto label;
label:
return 0;
}
private boolean isAuthzAnnotationPresent(java.lang.reflect.Method)
{
int v, v;
java.lang.'annotation'.Annotation v;
java.lang.Class[] v;
java.lang.Class v;
org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor v;
java.lang.reflect.Method v;
v := @this: org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor;
v := @parameter: java.lang.reflect.Method;
v = <org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor: java.lang.Class[] AUTHZ_ANNOTATION_CLASSES>;
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = staticinvoke <org.springframework.core.'annotation'.AnnotationUtils: java.lang.'annotation'.Annotation findAnnotation(java.lang.reflect.Method,java.lang.Class)>(v, v);
if v == null goto label;
return 1;
label:
v = v + 1;
goto label;
label:
return 0;
}
static void <clinit>()
{
java.lang.Class[] v;
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/shiro/spring/security/interceptor/AuthorizationAttributeSourceAdvisor;");
<org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor: org.slf4j.Logger log> = v;
v = newarray (java.lang.Class)[5];
v[0] = class "Lorg/apache/shiro/authz/annotation/RequiresPermissions;";
v[1] = class "Lorg/apache/shiro/authz/annotation/RequiresRoles;";
v[2] = class "Lorg/apache/shiro/authz/annotation/RequiresUser;";
v[3] = class "Lorg/apache/shiro/authz/annotation/RequiresGuest;";
v[4] = class "Lorg/apache/shiro/authz/annotation/RequiresAuthentication;";
<org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor: java.lang.Class[] AUTHZ_ANNOTATION_CLASSES> = v;
return;
}
}