public abstract class org.apache.shiro.realm.AuthorizingRealm extends org.apache.shiro.realm.AuthenticatingRealm implements org.apache.shiro.authz.Authorizer, org.apache.shiro.util.Initializable, org.apache.shiro.authz.permission.PermissionResolverAware, org.apache.shiro.authz.permission.RolePermissionResolverAware
{
private static final org.slf4j.Logger log;
private static final java.lang.String DEFAULT_AUTHORIZATION_CACHE_SUFFIX;
private static final java.util.concurrent.atomic.AtomicInteger INSTANCE_COUNT;
private boolean authorizationCachingEnabled;
private org.apache.shiro.cache.Cache authorizationCache;
private java.lang.String authorizationCacheName;
private org.apache.shiro.authz.permission.PermissionResolver permissionResolver;
private org.apache.shiro.authz.permission.RolePermissionResolver permissionRoleResolver;
public void <init>()
{
org.apache.shiro.realm.AuthorizingRealm v;
v := @this: org.apache.shiro.realm.AuthorizingRealm;
specialinvoke v.<org.apache.shiro.realm.AuthorizingRealm: void <init>(org.apache.shiro.cache.CacheManager,org.apache.shiro.authc.credential.CredentialsMatcher)>(null, null);
return;
}
public void <init>(org.apache.shiro.cache.CacheManager)
{
org.apache.shiro.realm.AuthorizingRealm v;
org.apache.shiro.cache.CacheManager v;
v := @this: org.apache.shiro.realm.AuthorizingRealm;
v := @parameter: org.apache.shiro.cache.CacheManager;
specialinvoke v.<org.apache.shiro.realm.AuthorizingRealm: void <init>(org.apache.shiro.cache.CacheManager,org.apache.shiro.authc.credential.CredentialsMatcher)>(v, null);
return;
}
public void <init>(org.apache.shiro.authc.credential.CredentialsMatcher)
{
org.apache.shiro.authc.credential.CredentialsMatcher v;
org.apache.shiro.realm.AuthorizingRealm v;
v := @this: org.apache.shiro.realm.AuthorizingRealm;
v := @parameter: org.apache.shiro.authc.credential.CredentialsMatcher;
specialinvoke v.<org.apache.shiro.realm.AuthorizingRealm: void <init>(org.apache.shiro.cache.CacheManager,org.apache.shiro.authc.credential.CredentialsMatcher)>(null, v);
return;
}
public void <init>(org.apache.shiro.cache.CacheManager, org.apache.shiro.authc.credential.CredentialsMatcher)
{
org.apache.shiro.authc.credential.CredentialsMatcher v;
org.apache.shiro.authz.permission.WildcardPermissionResolver v;
org.apache.shiro.cache.CacheManager v;
java.util.concurrent.atomic.AtomicInteger v;
int v;
org.apache.shiro.realm.AuthorizingRealm v;
java.lang.Class v;
java.lang.String v, v, v, v;
v := @this: org.apache.shiro.realm.AuthorizingRealm;
v := @parameter: org.apache.shiro.cache.CacheManager;
v := @parameter: org.apache.shiro.authc.credential.CredentialsMatcher;
specialinvoke v.<org.apache.shiro.realm.AuthenticatingRealm: void <init>()>();
if v == null goto label;
virtualinvoke v.<org.apache.shiro.realm.AuthorizingRealm: void setCacheManager(org.apache.shiro.cache.CacheManager)>(v);
label:
if v == null goto label;
virtualinvoke v.<org.apache.shiro.realm.AuthorizingRealm: void setCredentialsMatcher(org.apache.shiro.authc.credential.CredentialsMatcher)>(v);
label:
v.<org.apache.shiro.realm.AuthorizingRealm: boolean authorizationCachingEnabled> = 1;
v = new org.apache.shiro.authz.permission.WildcardPermissionResolver;
specialinvoke v.<org.apache.shiro.authz.permission.WildcardPermissionResolver: void <init>()>();
v.<org.apache.shiro.realm.AuthorizingRealm: org.apache.shiro.authz.permission.PermissionResolver permissionResolver> = v;
v = <org.apache.shiro.realm.AuthorizingRealm: java.util.concurrent.atomic.AtomicInteger INSTANCE_COUNT>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicInteger: int getAndIncrement()>();
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u.authorizationCache");
v.<org.apache.shiro.realm.AuthorizingRealm: java.lang.String authorizationCacheName> = v;
if v <= 0 goto label;
v = v.<org.apache.shiro.realm.AuthorizingRealm: java.lang.String authorizationCacheName>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,int)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u.\u0001");
v.<org.apache.shiro.realm.AuthorizingRealm: java.lang.String authorizationCacheName> = v;
label:
return;
}
public void setName(java.lang.String)
{
org.apache.shiro.realm.AuthorizingRealm v;
java.lang.Class v;
java.lang.String v, v, v, v;
boolean v;
v := @this: org.apache.shiro.realm.AuthorizingRealm;
v := @parameter: java.lang.String;
specialinvoke v.<org.apache.shiro.realm.AuthenticatingRealm: void setName(java.lang.String)>(v);
v = v.<org.apache.shiro.realm.AuthorizingRealm: java.lang.String authorizationCacheName>;
if v == null goto label;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>(v);
if v == 0 goto label;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u.authorizationCache");
v.<org.apache.shiro.realm.AuthorizingRealm: java.lang.String authorizationCacheName> = v;
label:
return;
}
public void setAuthorizationCache(org.apache.shiro.cache.Cache)
{
org.apache.shiro.realm.AuthorizingRealm v;
org.apache.shiro.cache.Cache v;
v := @this: org.apache.shiro.realm.AuthorizingRealm;
v := @parameter: org.apache.shiro.cache.Cache;
v.<org.apache.shiro.realm.AuthorizingRealm: org.apache.shiro.cache.Cache authorizationCache> = v;
return;
}
public org.apache.shiro.cache.Cache getAuthorizationCache()
{
org.apache.shiro.realm.AuthorizingRealm v;
org.apache.shiro.cache.Cache v;
v := @this: org.apache.shiro.realm.AuthorizingRealm;
v = v.<org.apache.shiro.realm.AuthorizingRealm: org.apache.shiro.cache.Cache authorizationCache>;
return v;
}
public java.lang.String getAuthorizationCacheName()
{
org.apache.shiro.realm.AuthorizingRealm v;
java.lang.String v;
v := @this: org.apache.shiro.realm.AuthorizingRealm;
v = v.<org.apache.shiro.realm.AuthorizingRealm: java.lang.String authorizationCacheName>;
return v;
}
public void setAuthorizationCacheName(java.lang.String)
{
org.apache.shiro.realm.AuthorizingRealm v;
java.lang.String v;
v := @this: org.apache.shiro.realm.AuthorizingRealm;
v := @parameter: java.lang.String;
v.<org.apache.shiro.realm.AuthorizingRealm: java.lang.String authorizationCacheName> = v;
return;
}
public boolean isAuthorizationCachingEnabled()
{
org.apache.shiro.realm.AuthorizingRealm v;
boolean v, v, v;
v := @this: org.apache.shiro.realm.AuthorizingRealm;
v = virtualinvoke v.<org.apache.shiro.realm.AuthorizingRealm: boolean isCachingEnabled()>();
if v == 0 goto label;
v = v.<org.apache.shiro.realm.AuthorizingRealm: boolean authorizationCachingEnabled>;
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public void setAuthorizationCachingEnabled(boolean)
{
org.apache.shiro.realm.AuthorizingRealm v;
boolean v;
v := @this: org.apache.shiro.realm.AuthorizingRealm;
v := @parameter: boolean;
v.<org.apache.shiro.realm.AuthorizingRealm: boolean authorizationCachingEnabled> = v;
if v == 0 goto label;
virtualinvoke v.<org.apache.shiro.realm.AuthorizingRealm: void setCachingEnabled(boolean)>(1);
label:
return;
}
public org.apache.shiro.authz.permission.PermissionResolver getPermissionResolver()
{
org.apache.shiro.realm.AuthorizingRealm v;
org.apache.shiro.authz.permission.PermissionResolver v;
v := @this: org.apache.shiro.realm.AuthorizingRealm;
v = v.<org.apache.shiro.realm.AuthorizingRealm: org.apache.shiro.authz.permission.PermissionResolver permissionResolver>;
return v;
}
public void setPermissionResolver(org.apache.shiro.authz.permission.PermissionResolver)
{
org.apache.shiro.realm.AuthorizingRealm v;
java.lang.IllegalArgumentException v;
org.apache.shiro.authz.permission.PermissionResolver v;
v := @this: org.apache.shiro.realm.AuthorizingRealm;
v := @parameter: org.apache.shiro.authz.permission.PermissionResolver;
if v != null goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("Null PermissionResolver is not allowed");
throw v;
label:
v.<org.apache.shiro.realm.AuthorizingRealm: org.apache.shiro.authz.permission.PermissionResolver permissionResolver> = v;
return;
}
public org.apache.shiro.authz.permission.RolePermissionResolver getRolePermissionResolver()
{
org.apache.shiro.realm.AuthorizingRealm v;
org.apache.shiro.authz.permission.RolePermissionResolver v;
v := @this: org.apache.shiro.realm.AuthorizingRealm;
v = v.<org.apache.shiro.realm.AuthorizingRealm: org.apache.shiro.authz.permission.RolePermissionResolver permissionRoleResolver>;
return v;
}
public void setRolePermissionResolver(org.apache.shiro.authz.permission.RolePermissionResolver)
{
org.apache.shiro.realm.AuthorizingRealm v;
org.apache.shiro.authz.permission.RolePermissionResolver v;
v := @this: org.apache.shiro.realm.AuthorizingRealm;
v := @parameter: org.apache.shiro.authz.permission.RolePermissionResolver;
v.<org.apache.shiro.realm.AuthorizingRealm: org.apache.shiro.authz.permission.RolePermissionResolver permissionRoleResolver> = v;
return;
}
protected void onInit()
{
org.apache.shiro.realm.AuthorizingRealm v;
v := @this: org.apache.shiro.realm.AuthorizingRealm;
specialinvoke v.<org.apache.shiro.realm.AuthenticatingRealm: void onInit()>();
specialinvoke v.<org.apache.shiro.realm.AuthorizingRealm: org.apache.shiro.cache.Cache getAvailableAuthorizationCache()>();
return;
}
protected void afterCacheManagerSet()
{
org.apache.shiro.realm.AuthorizingRealm v;
v := @this: org.apache.shiro.realm.AuthorizingRealm;
specialinvoke v.<org.apache.shiro.realm.AuthenticatingRealm: void afterCacheManagerSet()>();
specialinvoke v.<org.apache.shiro.realm.AuthorizingRealm: org.apache.shiro.cache.Cache getAvailableAuthorizationCache()>();
return;
}
private org.apache.shiro.cache.Cache getAuthorizationCacheLazy()
{
org.apache.shiro.realm.AuthorizingRealm v;
java.lang.String v, v;
boolean v, v, v;
org.slf4j.Logger v, v, v, v, v, v;
org.apache.shiro.cache.CacheManager v;
org.apache.shiro.cache.Cache v, v, v;
v := @this: org.apache.shiro.realm.AuthorizingRealm;
v = v.<org.apache.shiro.realm.AuthorizingRealm: org.apache.shiro.cache.Cache authorizationCache>;
if v != null goto label;
v = <org.apache.shiro.realm.AuthorizingRealm: org.slf4j.Logger log>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isDebugEnabled()>();
if v == 0 goto label;
v = <org.apache.shiro.realm.AuthorizingRealm: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>("No authorizationCache instance set.  Checking for a cacheManager...");
label:
v = virtualinvoke v.<org.apache.shiro.realm.AuthorizingRealm: org.apache.shiro.cache.CacheManager getCacheManager()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.shiro.realm.AuthorizingRealm: java.lang.String getAuthorizationCacheName()>();
v = <org.apache.shiro.realm.AuthorizingRealm: org.slf4j.Logger log>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isDebugEnabled()>();
if v == 0 goto label;
v = <org.apache.shiro.realm.AuthorizingRealm: org.slf4j.Logger log>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.shiro.cache.CacheManager,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("CacheManager [\u] has been configured.  Building authorization cache named [\u]");
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>(v);
label:
v = interfaceinvoke v.<org.apache.shiro.cache.CacheManager: org.apache.shiro.cache.Cache getCache(java.lang.String)>(v);
v.<org.apache.shiro.realm.AuthorizingRealm: org.apache.shiro.cache.Cache authorizationCache> = v;
goto label;
label:
v = <org.apache.shiro.realm.AuthorizingRealm: org.slf4j.Logger log>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isDebugEnabled()>();
if v == 0 goto label;
v = <org.apache.shiro.realm.AuthorizingRealm: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>("No cache or cacheManager properties have been set.  Authorization cache cannot be obtained.");
label:
v = v.<org.apache.shiro.realm.AuthorizingRealm: org.apache.shiro.cache.Cache authorizationCache>;
return v;
}
private org.apache.shiro.cache.Cache getAvailableAuthorizationCache()
{
org.apache.shiro.realm.AuthorizingRealm v;
boolean v;
org.apache.shiro.cache.Cache v;
v := @this: org.apache.shiro.realm.AuthorizingRealm;
v = virtualinvoke v.<org.apache.shiro.realm.AuthorizingRealm: org.apache.shiro.cache.Cache getAuthorizationCache()>();
if v != null goto label;
v = virtualinvoke v.<org.apache.shiro.realm.AuthorizingRealm: boolean isAuthorizationCachingEnabled()>();
if v == 0 goto label;
v = specialinvoke v.<org.apache.shiro.realm.AuthorizingRealm: org.apache.shiro.cache.Cache getAuthorizationCacheLazy()>();
label:
return v;
}
protected org.apache.shiro.authz.AuthorizationInfo getAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)
{
org.apache.shiro.realm.AuthorizingRealm v;
org.apache.shiro.subject.PrincipalCollection v;
java.lang.String v, v, v, v;
boolean v, v, v, v;
org.slf4j.Logger v, v, v, v, v, v, v, v, v;
java.lang.Object v, v, v;
org.apache.shiro.cache.Cache v;
v := @this: org.apache.shiro.realm.AuthorizingRealm;
v := @parameter: org.apache.shiro.subject.PrincipalCollection;
if v != null goto label;
return null;
label:
v = <org.apache.shiro.realm.AuthorizingRealm: org.slf4j.Logger log>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isTraceEnabled()>();
if v == 0 goto label;
v = <org.apache.shiro.realm.AuthorizingRealm: org.slf4j.Logger log>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.shiro.subject.PrincipalCollection)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Retrieving AuthorizationInfo for principals [\u]");
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String)>(v);
label:
v = specialinvoke v.<org.apache.shiro.realm.AuthorizingRealm: org.apache.shiro.cache.Cache getAvailableAuthorizationCache()>();
if v == null goto label;
v = <org.apache.shiro.realm.AuthorizingRealm: org.slf4j.Logger log>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isTraceEnabled()>();
if v == 0 goto label;
v = <org.apache.shiro.realm.AuthorizingRealm: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String)>("Attempting to retrieve the AuthorizationInfo from cache.");
label:
v = virtualinvoke v.<org.apache.shiro.realm.AuthorizingRealm: java.lang.Object getAuthorizationCacheKey(org.apache.shiro.subject.PrincipalCollection)>(v);
v = interfaceinvoke v.<org.apache.shiro.cache.Cache: java.lang.Object get(java.lang.Object)>(v);
v = <org.apache.shiro.realm.AuthorizingRealm: org.slf4j.Logger log>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isTraceEnabled()>();
if v == 0 goto label;
if v != null goto label;
v = <org.apache.shiro.realm.AuthorizingRealm: org.slf4j.Logger log>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.shiro.subject.PrincipalCollection)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("No AuthorizationInfo found in cache for principals [\u]");
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String)>(v);
goto label;
label:
v = <org.apache.shiro.realm.AuthorizingRealm: org.slf4j.Logger log>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.shiro.subject.PrincipalCollection)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("AuthorizationInfo found in cache for principals [\u]");
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String)>(v);
label:
if v != null goto label;
v = virtualinvoke v.<org.apache.shiro.realm.AuthorizingRealm: org.apache.shiro.authz.AuthorizationInfo doGetAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)>(v);
if v == null goto label;
if v == null goto label;
v = <org.apache.shiro.realm.AuthorizingRealm: org.slf4j.Logger log>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isTraceEnabled()>();
if v == 0 goto label;
v = <org.apache.shiro.realm.AuthorizingRealm: org.slf4j.Logger log>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.shiro.subject.PrincipalCollection)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Caching authorization info for principals: [\u].");
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String)>(v);
label:
v = virtualinvoke v.<org.apache.shiro.realm.AuthorizingRealm: java.lang.Object getAuthorizationCacheKey(org.apache.shiro.subject.PrincipalCollection)>(v);
interfaceinvoke v.<org.apache.shiro.cache.Cache: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
return v;
}
protected java.lang.Object getAuthorizationCacheKey(org.apache.shiro.subject.PrincipalCollection)
{
org.apache.shiro.realm.AuthorizingRealm v;
org.apache.shiro.subject.PrincipalCollection v;
v := @this: org.apache.shiro.realm.AuthorizingRealm;
v := @parameter: org.apache.shiro.subject.PrincipalCollection;
return v;
}
protected void clearCachedAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)
{
org.apache.shiro.realm.AuthorizingRealm v;
java.lang.Object v;
org.apache.shiro.subject.PrincipalCollection v;
org.apache.shiro.cache.Cache v;
v := @this: org.apache.shiro.realm.AuthorizingRealm;
v := @parameter: org.apache.shiro.subject.PrincipalCollection;
if v != null goto label;
return;
label:
v = specialinvoke v.<org.apache.shiro.realm.AuthorizingRealm: org.apache.shiro.cache.Cache getAvailableAuthorizationCache()>();
if v == null goto label;
v = virtualinvoke v.<org.apache.shiro.realm.AuthorizingRealm: java.lang.Object getAuthorizationCacheKey(org.apache.shiro.subject.PrincipalCollection)>(v);
interfaceinvoke v.<org.apache.shiro.cache.Cache: java.lang.Object remove(java.lang.Object)>(v);
label:
return;
}
protected abstract org.apache.shiro.authz.AuthorizationInfo doGetAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection);
protected java.util.Collection getPermissions(org.apache.shiro.authz.AuthorizationInfo)
{
java.util.Collection v, v, v, v, v;
org.apache.shiro.authz.AuthorizationInfo v;
java.util.Set v, v;
java.util.HashSet v;
org.apache.shiro.realm.AuthorizingRealm v;
boolean v, v, v, v;
v := @this: org.apache.shiro.realm.AuthorizingRealm;
v := @parameter: org.apache.shiro.authz.AuthorizationInfo;
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>()>();
if v == null goto label;
v = interfaceinvoke v.<org.apache.shiro.authz.AuthorizationInfo: java.util.Collection getObjectPermissions()>();
v = staticinvoke <org.apache.shiro.util.CollectionUtils: boolean isEmpty(java.util.Collection)>(v);
if v != 0 goto label;
interfaceinvoke v.<java.util.Set: boolean addAll(java.util.Collection)>(v);
label:
v = interfaceinvoke v.<org.apache.shiro.authz.AuthorizationInfo: java.util.Collection getStringPermissions()>();
v = specialinvoke v.<org.apache.shiro.realm.AuthorizingRealm: java.util.Collection resolvePermissions(java.util.Collection)>(v);
v = staticinvoke <org.apache.shiro.util.CollectionUtils: boolean isEmpty(java.util.Collection)>(v);
if v != 0 goto label;
interfaceinvoke v.<java.util.Set: boolean addAll(java.util.Collection)>(v);
label:
v = interfaceinvoke v.<org.apache.shiro.authz.AuthorizationInfo: java.util.Collection getRoles()>();
v = specialinvoke v.<org.apache.shiro.realm.AuthorizingRealm: java.util.Collection resolveRolePermissions(java.util.Collection)>(v);
v = staticinvoke <org.apache.shiro.util.CollectionUtils: boolean isEmpty(java.util.Collection)>(v);
if v != 0 goto label;
interfaceinvoke v.<java.util.Set: boolean addAll(java.util.Collection)>(v);
label:
v = interfaceinvoke v.<java.util.Set: boolean isEmpty()>();
if v == 0 goto label;
v = staticinvoke <java.util.Collections: java.util.Set emptySet()>();
return v;
label:
v = staticinvoke <java.util.Collections: java.util.Set unmodifiableSet(java.util.Set)>(v);
return v;
}
private java.util.Collection resolvePermissions(java.util.Collection)
{
java.util.Iterator v;
java.util.Collection v;
java.util.Set v;
org.apache.shiro.authz.Permission v;
org.apache.shiro.authz.permission.PermissionResolver v;
int v;
org.apache.shiro.realm.AuthorizingRealm v;
java.lang.Object v;
java.lang.String v;
java.util.LinkedHashSet v;
boolean v, v;
v := @this: org.apache.shiro.realm.AuthorizingRealm;
v := @parameter: java.util.Collection;
v = staticinvoke <java.util.Collections: java.util.Set emptySet()>();
v = virtualinvoke v.<org.apache.shiro.realm.AuthorizingRealm: org.apache.shiro.authz.permission.PermissionResolver getPermissionResolver()>();
if v == null goto label;
v = staticinvoke <org.apache.shiro.util.CollectionUtils: boolean isEmpty(java.util.Collection)>(v);
if v != 0 goto label;
v = new java.util.LinkedHashSet;
v = interfaceinvoke v.<java.util.Collection: int size()>();
specialinvoke v.<java.util.LinkedHashSet: void <init>(int)>(v);
v = v;
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = staticinvoke <org.apache.shiro.util.StringUtils: java.lang.String clean(java.lang.String)>(v);
if v == null goto label;
v = interfaceinvoke v.<org.apache.shiro.authz.permission.PermissionResolver: org.apache.shiro.authz.Permission resolvePermission(java.lang.String)>(v);
interfaceinvoke v.<java.util.Collection: boolean add(java.lang.Object)>(v);
goto label;
label:
return v;
}
private java.util.Collection resolveRolePermissions(java.util.Collection)
{
java.util.Iterator v;
java.util.Collection v, v;
java.util.Set v;
org.apache.shiro.authz.permission.RolePermissionResolver v;
int v;
org.apache.shiro.realm.AuthorizingRealm v;
java.lang.Object v;
java.util.LinkedHashSet v;
boolean v, v, v;
v := @this: org.apache.shiro.realm.AuthorizingRealm;
v := @parameter: java.util.Collection;
v = staticinvoke <java.util.Collections: java.util.Set emptySet()>();
v = virtualinvoke v.<org.apache.shiro.realm.AuthorizingRealm: org.apache.shiro.authz.permission.RolePermissionResolver getRolePermissionResolver()>();
if v == null goto label;
v = staticinvoke <org.apache.shiro.util.CollectionUtils: boolean isEmpty(java.util.Collection)>(v);
if v != 0 goto label;
v = new java.util.LinkedHashSet;
v = interfaceinvoke v.<java.util.Collection: int size()>();
specialinvoke v.<java.util.LinkedHashSet: void <init>(int)>(v);
v = v;
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<org.apache.shiro.authz.permission.RolePermissionResolver: java.util.Collection resolvePermissionsInRole(java.lang.String)>(v);
v = staticinvoke <org.apache.shiro.util.CollectionUtils: boolean isEmpty(java.util.Collection)>(v);
if v != 0 goto label;
interfaceinvoke v.<java.util.Collection: boolean addAll(java.util.Collection)>(v);
goto label;
label:
return v;
}
public boolean isPermitted(org.apache.shiro.subject.PrincipalCollection, java.lang.String)
{
org.apache.shiro.authz.permission.PermissionResolver v;
org.apache.shiro.realm.AuthorizingRealm v;
org.apache.shiro.subject.PrincipalCollection v;
java.lang.String v;
org.apache.shiro.authz.Permission v;
boolean v;
v := @this: org.apache.shiro.realm.AuthorizingRealm;
v := @parameter: org.apache.shiro.subject.PrincipalCollection;
v := @parameter: java.lang.String;
v = virtualinvoke v.<org.apache.shiro.realm.AuthorizingRealm: org.apache.shiro.authz.permission.PermissionResolver getPermissionResolver()>();
v = interfaceinvoke v.<org.apache.shiro.authz.permission.PermissionResolver: org.apache.shiro.authz.Permission resolvePermission(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.shiro.realm.AuthorizingRealm: boolean isPermitted(org.apache.shiro.subject.PrincipalCollection,org.apache.shiro.authz.Permission)>(v, v);
return v;
}
public boolean isPermitted(org.apache.shiro.subject.PrincipalCollection, org.apache.shiro.authz.Permission)
{
org.apache.shiro.authz.AuthorizationInfo v;
org.apache.shiro.realm.AuthorizingRealm v;
org.apache.shiro.subject.PrincipalCollection v;
org.apache.shiro.authz.Permission v;
boolean v;
v := @this: org.apache.shiro.realm.AuthorizingRealm;
v := @parameter: org.apache.shiro.subject.PrincipalCollection;
v := @parameter: org.apache.shiro.authz.Permission;
v = virtualinvoke v.<org.apache.shiro.realm.AuthorizingRealm: org.apache.shiro.authz.AuthorizationInfo getAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)>(v);
v = virtualinvoke v.<org.apache.shiro.realm.AuthorizingRealm: boolean isPermitted(org.apache.shiro.authz.Permission,org.apache.shiro.authz.AuthorizationInfo)>(v, v);
return v;
}
protected boolean isPermitted(org.apache.shiro.authz.Permission, org.apache.shiro.authz.AuthorizationInfo)
{
java.util.Iterator v;
java.util.Collection v;
org.apache.shiro.authz.AuthorizationInfo v;
org.apache.shiro.authz.Permission v;
org.apache.shiro.realm.AuthorizingRealm v;
java.lang.Object v;
boolean v, v, v;
v := @this: org.apache.shiro.realm.AuthorizingRealm;
v := @parameter: org.apache.shiro.authz.Permission;
v := @parameter: org.apache.shiro.authz.AuthorizationInfo;
v = virtualinvoke v.<org.apache.shiro.realm.AuthorizingRealm: java.util.Collection getPermissions(org.apache.shiro.authz.AuthorizationInfo)>(v);
if v == null goto label;
v = interfaceinvoke v.<java.util.Collection: boolean isEmpty()>();
if v != 0 goto label;
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<org.apache.shiro.authz.Permission: boolean implies(org.apache.shiro.authz.Permission)>(v);
if v == 0 goto label;
return 1;
label:
return 0;
}
public transient boolean[] isPermitted(org.apache.shiro.subject.PrincipalCollection, java.lang.String[])
{
boolean[] v;
java.lang.String[] v;
org.apache.shiro.authz.Permission v;
java.util.ArrayList v;
org.apache.shiro.authz.permission.PermissionResolver v;
int v, v, v;
org.apache.shiro.realm.AuthorizingRealm v;
org.apache.shiro.subject.PrincipalCollection v;
java.lang.String v;
v := @this: org.apache.shiro.realm.AuthorizingRealm;
v := @parameter: org.apache.shiro.subject.PrincipalCollection;
v := @parameter: java.lang.String[];
v = new java.util.ArrayList;
v = lengthof v;
specialinvoke v.<java.util.ArrayList: void <init>(int)>(v);
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = virtualinvoke v.<org.apache.shiro.realm.AuthorizingRealm: org.apache.shiro.authz.permission.PermissionResolver getPermissionResolver()>();
v = interfaceinvoke v.<org.apache.shiro.authz.permission.PermissionResolver: org.apache.shiro.authz.Permission resolvePermission(java.lang.String)>(v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = v + 1;
goto label;
label:
v = virtualinvoke v.<org.apache.shiro.realm.AuthorizingRealm: boolean[] isPermitted(org.apache.shiro.subject.PrincipalCollection,java.util.List)>(v, v);
return v;
}
public boolean[] isPermitted(org.apache.shiro.subject.PrincipalCollection, java.util.List)
{
java.util.List v;
org.apache.shiro.authz.AuthorizationInfo v;
boolean[] v;
org.apache.shiro.realm.AuthorizingRealm v;
org.apache.shiro.subject.PrincipalCollection v;
v := @this: org.apache.shiro.realm.AuthorizingRealm;
v := @parameter: org.apache.shiro.subject.PrincipalCollection;
v := @parameter: java.util.List;
v = virtualinvoke v.<org.apache.shiro.realm.AuthorizingRealm: org.apache.shiro.authz.AuthorizationInfo getAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)>(v);
v = virtualinvoke v.<org.apache.shiro.realm.AuthorizingRealm: boolean[] isPermitted(java.util.List,org.apache.shiro.authz.AuthorizationInfo)>(v, v);
return v;
}
protected boolean[] isPermitted(java.util.List, org.apache.shiro.authz.AuthorizationInfo)
{
java.util.Iterator v;
org.apache.shiro.authz.AuthorizationInfo v;
boolean[] v;
java.util.List v;
int v, v, v;
org.apache.shiro.realm.AuthorizingRealm v;
java.lang.Object v;
boolean v, v, v;
v := @this: org.apache.shiro.realm.AuthorizingRealm;
v := @parameter: java.util.List;
v := @parameter: org.apache.shiro.authz.AuthorizationInfo;
if v == null goto label;
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v != 0 goto label;
v = interfaceinvoke v.<java.util.List: int size()>();
v = newarray (boolean)[v];
v = 0;
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = v;
v = v + 1;
v = virtualinvoke v.<org.apache.shiro.realm.AuthorizingRealm: boolean isPermitted(org.apache.shiro.authz.Permission,org.apache.shiro.authz.AuthorizationInfo)>(v, v);
v[v] = v;
goto label;
label:
v = newarray (boolean)[0];
label:
return v;
}
public transient boolean isPermittedAll(org.apache.shiro.subject.PrincipalCollection, java.lang.String[])
{
java.lang.String[] v;
org.apache.shiro.authz.Permission v;
java.util.ArrayList v;
org.apache.shiro.authz.permission.PermissionResolver v;
int v, v, v, v;
org.apache.shiro.realm.AuthorizingRealm v;
org.apache.shiro.subject.PrincipalCollection v;
java.lang.String v;
boolean v;
v := @this: org.apache.shiro.realm.AuthorizingRealm;
v := @parameter: org.apache.shiro.subject.PrincipalCollection;
v := @parameter: java.lang.String[];
if v == null goto label;
v = lengthof v;
if v <= 0 goto label;
v = new java.util.ArrayList;
v = lengthof v;
specialinvoke v.<java.util.ArrayList: void <init>(int)>(v);
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = virtualinvoke v.<org.apache.shiro.realm.AuthorizingRealm: org.apache.shiro.authz.permission.PermissionResolver getPermissionResolver()>();
v = interfaceinvoke v.<org.apache.shiro.authz.permission.PermissionResolver: org.apache.shiro.authz.Permission resolvePermission(java.lang.String)>(v);
interfaceinvoke v.<java.util.Collection: boolean add(java.lang.Object)>(v);
v = v + 1;
goto label;
label:
v = virtualinvoke v.<org.apache.shiro.realm.AuthorizingRealm: boolean isPermittedAll(org.apache.shiro.subject.PrincipalCollection,java.util.Collection)>(v, v);
return v;
label:
return 0;
}
public boolean isPermittedAll(org.apache.shiro.subject.PrincipalCollection, java.util.Collection)
{
java.util.Collection v;
org.apache.shiro.authz.AuthorizationInfo v;
org.apache.shiro.realm.AuthorizingRealm v;
org.apache.shiro.subject.PrincipalCollection v;
boolean v, v;
v := @this: org.apache.shiro.realm.AuthorizingRealm;
v := @parameter: org.apache.shiro.subject.PrincipalCollection;
v := @parameter: java.util.Collection;
v = virtualinvoke v.<org.apache.shiro.realm.AuthorizingRealm: org.apache.shiro.authz.AuthorizationInfo getAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)>(v);
if v == null goto label;
v = virtualinvoke v.<org.apache.shiro.realm.AuthorizingRealm: boolean isPermittedAll(java.util.Collection,org.apache.shiro.authz.AuthorizationInfo)>(v, v);
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
protected boolean isPermittedAll(java.util.Collection, org.apache.shiro.authz.AuthorizationInfo)
{
java.util.Iterator v;
java.util.Collection v;
org.apache.shiro.authz.AuthorizationInfo v;
org.apache.shiro.realm.AuthorizingRealm v;
java.lang.Object v;
boolean v, v, v;
v := @this: org.apache.shiro.realm.AuthorizingRealm;
v := @parameter: java.util.Collection;
v := @parameter: org.apache.shiro.authz.AuthorizationInfo;
if v == null goto label;
v = interfaceinvoke v.<java.util.Collection: boolean isEmpty()>();
if v != 0 goto label;
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<org.apache.shiro.realm.AuthorizingRealm: boolean isPermitted(org.apache.shiro.authz.Permission,org.apache.shiro.authz.AuthorizationInfo)>(v, v);
if v != 0 goto label;
return 0;
label:
return 1;
}
public void checkPermission(org.apache.shiro.subject.PrincipalCollection, java.lang.String) throws org.apache.shiro.authz.AuthorizationException
{
org.apache.shiro.authz.permission.PermissionResolver v;
org.apache.shiro.realm.AuthorizingRealm v;
org.apache.shiro.subject.PrincipalCollection v;
java.lang.String v;
org.apache.shiro.authz.Permission v;
v := @this: org.apache.shiro.realm.AuthorizingRealm;
v := @parameter: org.apache.shiro.subject.PrincipalCollection;
v := @parameter: java.lang.String;
v = virtualinvoke v.<org.apache.shiro.realm.AuthorizingRealm: org.apache.shiro.authz.permission.PermissionResolver getPermissionResolver()>();
v = interfaceinvoke v.<org.apache.shiro.authz.permission.PermissionResolver: org.apache.shiro.authz.Permission resolvePermission(java.lang.String)>(v);
virtualinvoke v.<org.apache.shiro.realm.AuthorizingRealm: void checkPermission(org.apache.shiro.subject.PrincipalCollection,org.apache.shiro.authz.Permission)>(v, v);
return;
}
public void checkPermission(org.apache.shiro.subject.PrincipalCollection, org.apache.shiro.authz.Permission) throws org.apache.shiro.authz.AuthorizationException
{
org.apache.shiro.authz.AuthorizationInfo v;
org.apache.shiro.realm.AuthorizingRealm v;
org.apache.shiro.subject.PrincipalCollection v;
org.apache.shiro.authz.Permission v;
v := @this: org.apache.shiro.realm.AuthorizingRealm;
v := @parameter: org.apache.shiro.subject.PrincipalCollection;
v := @parameter: org.apache.shiro.authz.Permission;
v = virtualinvoke v.<org.apache.shiro.realm.AuthorizingRealm: org.apache.shiro.authz.AuthorizationInfo getAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)>(v);
virtualinvoke v.<org.apache.shiro.realm.AuthorizingRealm: void checkPermission(org.apache.shiro.authz.Permission,org.apache.shiro.authz.AuthorizationInfo)>(v, v);
return;
}
protected void checkPermission(org.apache.shiro.authz.Permission, org.apache.shiro.authz.AuthorizationInfo)
{
org.apache.shiro.authz.UnauthorizedException v;
org.apache.shiro.authz.AuthorizationInfo v;
org.apache.shiro.realm.AuthorizingRealm v;
java.lang.String v;
org.apache.shiro.authz.Permission v;
boolean v;
v := @this: org.apache.shiro.realm.AuthorizingRealm;
v := @parameter: org.apache.shiro.authz.Permission;
v := @parameter: org.apache.shiro.authz.AuthorizationInfo;
v = virtualinvoke v.<org.apache.shiro.realm.AuthorizingRealm: boolean isPermitted(org.apache.shiro.authz.Permission,org.apache.shiro.authz.AuthorizationInfo)>(v, v);
if v != 0 goto label;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.apache.shiro.authz.Permission)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("User is not permitted [\u]");
v = new org.apache.shiro.authz.UnauthorizedException;
specialinvoke v.<org.apache.shiro.authz.UnauthorizedException: void <init>(java.lang.String)>(v);
throw v;
label:
return;
}
public transient void checkPermissions(org.apache.shiro.subject.PrincipalCollection, java.lang.String[]) throws org.apache.shiro.authz.AuthorizationException
{
int v, v;
org.apache.shiro.realm.AuthorizingRealm v;
java.lang.String[] v;
org.apache.shiro.subject.PrincipalCollection v;
java.lang.String v;
v := @this: org.apache.shiro.realm.AuthorizingRealm;
v := @parameter: org.apache.shiro.subject.PrincipalCollection;
v := @parameter: java.lang.String[];
if v == null goto label;
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
virtualinvoke v.<org.apache.shiro.realm.AuthorizingRealm: void checkPermission(org.apache.shiro.subject.PrincipalCollection,java.lang.String)>(v, v);
v = v + 1;
goto label;
label:
return;
}
public void checkPermissions(org.apache.shiro.subject.PrincipalCollection, java.util.Collection) throws org.apache.shiro.authz.AuthorizationException
{
java.util.Collection v;
org.apache.shiro.authz.AuthorizationInfo v;
org.apache.shiro.realm.AuthorizingRealm v;
org.apache.shiro.subject.PrincipalCollection v;
v := @this: org.apache.shiro.realm.AuthorizingRealm;
v := @parameter: org.apache.shiro.subject.PrincipalCollection;
v := @parameter: java.util.Collection;
v = virtualinvoke v.<org.apache.shiro.realm.AuthorizingRealm: org.apache.shiro.authz.AuthorizationInfo getAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)>(v);
virtualinvoke v.<org.apache.shiro.realm.AuthorizingRealm: void checkPermissions(java.util.Collection,org.apache.shiro.authz.AuthorizationInfo)>(v, v);
return;
}
protected void checkPermissions(java.util.Collection, org.apache.shiro.authz.AuthorizationInfo)
{
java.util.Iterator v;
java.util.Collection v;
org.apache.shiro.authz.AuthorizationInfo v;
org.apache.shiro.realm.AuthorizingRealm v;
java.lang.Object v;
boolean v, v;
v := @this: org.apache.shiro.realm.AuthorizingRealm;
v := @parameter: java.util.Collection;
v := @parameter: org.apache.shiro.authz.AuthorizationInfo;
if v == null goto label;
v = interfaceinvoke v.<java.util.Collection: boolean isEmpty()>();
if v != 0 goto label;
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
virtualinvoke v.<org.apache.shiro.realm.AuthorizingRealm: void checkPermission(org.apache.shiro.authz.Permission,org.apache.shiro.authz.AuthorizationInfo)>(v, v);
goto label;
label:
return;
}
public boolean hasRole(org.apache.shiro.subject.PrincipalCollection, java.lang.String)
{
org.apache.shiro.authz.AuthorizationInfo v;
org.apache.shiro.realm.AuthorizingRealm v;
org.apache.shiro.subject.PrincipalCollection v;
java.lang.String v;
boolean v;
v := @this: org.apache.shiro.realm.AuthorizingRealm;
v := @parameter: org.apache.shiro.subject.PrincipalCollection;
v := @parameter: java.lang.String;
v = virtualinvoke v.<org.apache.shiro.realm.AuthorizingRealm: org.apache.shiro.authz.AuthorizationInfo getAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)>(v);
v = virtualinvoke v.<org.apache.shiro.realm.AuthorizingRealm: boolean hasRole(java.lang.String,org.apache.shiro.authz.AuthorizationInfo)>(v, v);
return v;
}
protected boolean hasRole(java.lang.String, org.apache.shiro.authz.AuthorizationInfo)
{
java.util.Collection v, v;
org.apache.shiro.authz.AuthorizationInfo v;
org.apache.shiro.realm.AuthorizingRealm v;
java.lang.String v;
boolean v, v;
v := @this: org.apache.shiro.realm.AuthorizingRealm;
v := @parameter: java.lang.String;
v := @parameter: org.apache.shiro.authz.AuthorizationInfo;
if v == null goto label;
v = interfaceinvoke v.<org.apache.shiro.authz.AuthorizationInfo: java.util.Collection getRoles()>();
if v == null goto label;
v = interfaceinvoke v.<org.apache.shiro.authz.AuthorizationInfo: java.util.Collection getRoles()>();
v = interfaceinvoke v.<java.util.Collection: boolean contains(java.lang.Object)>(v);
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public boolean[] hasRoles(org.apache.shiro.subject.PrincipalCollection, java.util.List)
{
java.util.List v;
org.apache.shiro.authz.AuthorizationInfo v;
boolean[] v;
int v;
org.apache.shiro.realm.AuthorizingRealm v;
org.apache.shiro.subject.PrincipalCollection v;
v := @this: org.apache.shiro.realm.AuthorizingRealm;
v := @parameter: org.apache.shiro.subject.PrincipalCollection;
v := @parameter: java.util.List;
v = virtualinvoke v.<org.apache.shiro.realm.AuthorizingRealm: org.apache.shiro.authz.AuthorizationInfo getAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)>(v);
if v == null goto label;
v = interfaceinvoke v.<java.util.List: int size()>();
goto label;
label:
v = 0;
label:
v = newarray (boolean)[v];
if v == null goto label;
v = virtualinvoke v.<org.apache.shiro.realm.AuthorizingRealm: boolean[] hasRoles(java.util.List,org.apache.shiro.authz.AuthorizationInfo)>(v, v);
label:
return v;
}
protected boolean[] hasRoles(java.util.List, org.apache.shiro.authz.AuthorizationInfo)
{
java.util.Iterator v;
org.apache.shiro.authz.AuthorizationInfo v;
boolean[] v;
java.util.List v;
int v, v, v;
org.apache.shiro.realm.AuthorizingRealm v;
java.lang.Object v;
boolean v, v, v;
v := @this: org.apache.shiro.realm.AuthorizingRealm;
v := @parameter: java.util.List;
v := @parameter: org.apache.shiro.authz.AuthorizationInfo;
if v == null goto label;
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v != 0 goto label;
v = interfaceinvoke v.<java.util.List: int size()>();
v = newarray (boolean)[v];
v = 0;
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = v;
v = v + 1;
v = virtualinvoke v.<org.apache.shiro.realm.AuthorizingRealm: boolean hasRole(java.lang.String,org.apache.shiro.authz.AuthorizationInfo)>(v, v);
v[v] = v;
goto label;
label:
v = newarray (boolean)[0];
label:
return v;
}
public boolean hasAllRoles(org.apache.shiro.subject.PrincipalCollection, java.util.Collection)
{
java.util.Collection v;
org.apache.shiro.authz.AuthorizationInfo v;
org.apache.shiro.realm.AuthorizingRealm v;
org.apache.shiro.subject.PrincipalCollection v;
boolean v, v;
v := @this: org.apache.shiro.realm.AuthorizingRealm;
v := @parameter: org.apache.shiro.subject.PrincipalCollection;
v := @parameter: java.util.Collection;
v = virtualinvoke v.<org.apache.shiro.realm.AuthorizingRealm: org.apache.shiro.authz.AuthorizationInfo getAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)>(v);
if v == null goto label;
v = specialinvoke v.<org.apache.shiro.realm.AuthorizingRealm: boolean hasAllRoles(java.util.Collection,org.apache.shiro.authz.AuthorizationInfo)>(v, v);
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private boolean hasAllRoles(java.util.Collection, org.apache.shiro.authz.AuthorizationInfo)
{
java.util.Iterator v;
java.util.Collection v;
org.apache.shiro.authz.AuthorizationInfo v;
org.apache.shiro.realm.AuthorizingRealm v;
java.lang.Object v;
boolean v, v, v;
v := @this: org.apache.shiro.realm.AuthorizingRealm;
v := @parameter: java.util.Collection;
v := @parameter: org.apache.shiro.authz.AuthorizationInfo;
if v == null goto label;
v = interfaceinvoke v.<java.util.Collection: boolean isEmpty()>();
if v != 0 goto label;
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<org.apache.shiro.realm.AuthorizingRealm: boolean hasRole(java.lang.String,org.apache.shiro.authz.AuthorizationInfo)>(v, v);
if v != 0 goto label;
return 0;
label:
return 1;
}
public void checkRole(org.apache.shiro.subject.PrincipalCollection, java.lang.String) throws org.apache.shiro.authz.AuthorizationException
{
org.apache.shiro.authz.AuthorizationInfo v;
org.apache.shiro.realm.AuthorizingRealm v;
org.apache.shiro.subject.PrincipalCollection v;
java.lang.String v;
v := @this: org.apache.shiro.realm.AuthorizingRealm;
v := @parameter: org.apache.shiro.subject.PrincipalCollection;
v := @parameter: java.lang.String;
v = virtualinvoke v.<org.apache.shiro.realm.AuthorizingRealm: org.apache.shiro.authz.AuthorizationInfo getAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)>(v);
virtualinvoke v.<org.apache.shiro.realm.AuthorizingRealm: void checkRole(java.lang.String,org.apache.shiro.authz.AuthorizationInfo)>(v, v);
return;
}
protected void checkRole(java.lang.String, org.apache.shiro.authz.AuthorizationInfo)
{
org.apache.shiro.authz.UnauthorizedException v;
org.apache.shiro.authz.AuthorizationInfo v;
org.apache.shiro.realm.AuthorizingRealm v;
java.lang.String v, v;
boolean v;
v := @this: org.apache.shiro.realm.AuthorizingRealm;
v := @parameter: java.lang.String;
v := @parameter: org.apache.shiro.authz.AuthorizationInfo;
v = virtualinvoke v.<org.apache.shiro.realm.AuthorizingRealm: boolean hasRole(java.lang.String,org.apache.shiro.authz.AuthorizationInfo)>(v, v);
if v != 0 goto label;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("User does not have role [\u]");
v = new org.apache.shiro.authz.UnauthorizedException;
specialinvoke v.<org.apache.shiro.authz.UnauthorizedException: void <init>(java.lang.String)>(v);
throw v;
label:
return;
}
public void checkRoles(org.apache.shiro.subject.PrincipalCollection, java.util.Collection) throws org.apache.shiro.authz.AuthorizationException
{
java.util.Collection v;
org.apache.shiro.authz.AuthorizationInfo v;
org.apache.shiro.realm.AuthorizingRealm v;
org.apache.shiro.subject.PrincipalCollection v;
v := @this: org.apache.shiro.realm.AuthorizingRealm;
v := @parameter: org.apache.shiro.subject.PrincipalCollection;
v := @parameter: java.util.Collection;
v = virtualinvoke v.<org.apache.shiro.realm.AuthorizingRealm: org.apache.shiro.authz.AuthorizationInfo getAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)>(v);
virtualinvoke v.<org.apache.shiro.realm.AuthorizingRealm: void checkRoles(java.util.Collection,org.apache.shiro.authz.AuthorizationInfo)>(v, v);
return;
}
public transient void checkRoles(org.apache.shiro.subject.PrincipalCollection, java.lang.String[]) throws org.apache.shiro.authz.AuthorizationException
{
java.util.List v;
org.apache.shiro.realm.AuthorizingRealm v;
java.lang.String[] v;
org.apache.shiro.subject.PrincipalCollection v;
v := @this: org.apache.shiro.realm.AuthorizingRealm;
v := @parameter: org.apache.shiro.subject.PrincipalCollection;
v := @parameter: java.lang.String[];
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
virtualinvoke v.<org.apache.shiro.realm.AuthorizingRealm: void checkRoles(org.apache.shiro.subject.PrincipalCollection,java.util.Collection)>(v, v);
return;
}
protected void checkRoles(java.util.Collection, org.apache.shiro.authz.AuthorizationInfo)
{
java.util.Iterator v;
java.util.Collection v;
org.apache.shiro.authz.AuthorizationInfo v;
org.apache.shiro.realm.AuthorizingRealm v;
java.lang.Object v;
boolean v, v;
v := @this: org.apache.shiro.realm.AuthorizingRealm;
v := @parameter: java.util.Collection;
v := @parameter: org.apache.shiro.authz.AuthorizationInfo;
if v == null goto label;
v = interfaceinvoke v.<java.util.Collection: boolean isEmpty()>();
if v != 0 goto label;
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
virtualinvoke v.<org.apache.shiro.realm.AuthorizingRealm: void checkRole(java.lang.String,org.apache.shiro.authz.AuthorizationInfo)>(v, v);
goto label;
label:
return;
}
protected void doClearCache(org.apache.shiro.subject.PrincipalCollection)
{
org.apache.shiro.realm.AuthorizingRealm v;
org.apache.shiro.subject.PrincipalCollection v;
v := @this: org.apache.shiro.realm.AuthorizingRealm;
v := @parameter: org.apache.shiro.subject.PrincipalCollection;
specialinvoke v.<org.apache.shiro.realm.AuthenticatingRealm: void doClearCache(org.apache.shiro.subject.PrincipalCollection)>(v);
virtualinvoke v.<org.apache.shiro.realm.AuthorizingRealm: void clearCachedAuthorizationInfo(org.apache.shiro.subject.PrincipalCollection)>(v);
return;
}
static void <clinit>()
{
org.slf4j.Logger v;
java.util.concurrent.atomic.AtomicInteger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/shiro/realm/AuthorizingRealm;");
<org.apache.shiro.realm.AuthorizingRealm: org.slf4j.Logger log> = v;
v = new java.util.concurrent.atomic.AtomicInteger;
specialinvoke v.<java.util.concurrent.atomic.AtomicInteger: void <init>()>();
<org.apache.shiro.realm.AuthorizingRealm: java.util.concurrent.atomic.AtomicInteger INSTANCE_COUNT> = v;
return;
}
}