public class io.vertx.ext.auth.shiro.impl.ShiroAuthProviderImpl implements io.vertx.ext.auth.shiro.ShiroAuth
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.vertx.ext.auth.shiro.impl.ShiroAuthProviderImpl
super_class: java.lang.Object
{
private io.vertx.core.Vertx vertx;
descriptor: Lio/vertx/core/Vertx;
flags: (0x0002) ACC_PRIVATE
private org.apache.shiro.mgt.SecurityManager securityManager;
descriptor: Lorg/apache/shiro/mgt/SecurityManager;
flags: (0x0002) ACC_PRIVATE
private java.lang.String rolePrefix;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String realmName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private static volatile int[] $SWITCH_TABLE$io$vertx$ext$auth$shiro$ShiroAuthRealmType;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
public static io.vertx.ext.auth.shiro.ShiroAuth create(io.vertx.core.Vertx, io.vertx.ext.auth.shiro.ShiroAuthOptions);
descriptor: (Lio/vertx/core/Vertx;Lio/vertx/ext/auth/shiro/ShiroAuthOptions;)Lio/vertx/ext/auth/shiro/ShiroAuth;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: invokestatic io.vertx.ext.auth.shiro.impl.ShiroAuthProviderImpl.$SWITCH_TABLE$io$vertx$ext$auth$shiro$ShiroAuthRealmType:()[I
aload 1
invokevirtual io.vertx.ext.auth.shiro.ShiroAuthOptions.getType:()Lio/vertx/ext/auth/shiro/ShiroAuthRealmType;
invokevirtual io.vertx.ext.auth.shiro.ShiroAuthRealmType.ordinal:()I
iaload
tableswitch { // 1 - 2
1: 1
2: 3
default: 5
}
1: StackMap locals:
StackMap stack:
aload 1
invokevirtual io.vertx.ext.auth.shiro.ShiroAuthOptions.getConfig:()Lio/vertx/core/json/JsonObject;
invokestatic io.vertx.ext.auth.shiro.impl.PropertiesAuthProvider.createRealm:(Lio/vertx/core/json/JsonObject;)Lorg/apache/shiro/realm/Realm;
astore 2
start local 2 2: goto 6
end local 2 3: StackMap locals:
StackMap stack:
aload 1
invokevirtual io.vertx.ext.auth.shiro.ShiroAuthOptions.getConfig:()Lio/vertx/core/json/JsonObject;
invokestatic io.vertx.ext.auth.shiro.impl.LDAPAuthProvider.createRealm:(Lio/vertx/core/json/JsonObject;)Lorg/apache/shiro/realm/Realm;
astore 2
start local 2 4: goto 6
end local 2 5: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Invalid shiro auth realm type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual io.vertx.ext.auth.shiro.ShiroAuthOptions.getType:()Lio/vertx/ext/auth/shiro/ShiroAuthRealmType;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
start local 2 6: StackMap locals: org.apache.shiro.realm.Realm
StackMap stack:
new io.vertx.ext.auth.shiro.impl.ShiroAuthProviderImpl
dup
aload 0
aload 2
invokespecial io.vertx.ext.auth.shiro.impl.ShiroAuthProviderImpl.<init>:(Lio/vertx/core/Vertx;Lorg/apache/shiro/realm/Realm;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 vertx Lio/vertx/core/Vertx;
0 7 1 options Lio/vertx/ext/auth/shiro/ShiroAuthOptions;
2 3 2 realm Lorg/apache/shiro/realm/Realm;
4 5 2 realm Lorg/apache/shiro/realm/Realm;
6 7 2 realm Lorg/apache/shiro/realm/Realm;
MethodParameters:
Name Flags
vertx
options
public void <init>(io.vertx.core.Vertx, org.apache.shiro.realm.Realm);
descriptor: (Lio/vertx/core/Vertx;Lorg/apache/shiro/realm/Realm;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
ldc "role:"
putfield io.vertx.ext.auth.shiro.impl.ShiroAuthProviderImpl.rolePrefix:Ljava/lang/String;
2: aload 0
aload 1
putfield io.vertx.ext.auth.shiro.impl.ShiroAuthProviderImpl.vertx:Lio/vertx/core/Vertx;
3: aload 0
new org.apache.shiro.mgt.DefaultSecurityManager
dup
aload 2
invokespecial org.apache.shiro.mgt.DefaultSecurityManager.<init>:(Lorg/apache/shiro/realm/Realm;)V
putfield io.vertx.ext.auth.shiro.impl.ShiroAuthProviderImpl.securityManager:Lorg/apache/shiro/mgt/SecurityManager;
4: aload 0
aload 2
invokeinterface org.apache.shiro.realm.Realm.getName:()Ljava/lang/String;
putfield io.vertx.ext.auth.shiro.impl.ShiroAuthProviderImpl.realmName:Ljava/lang/String;
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/vertx/ext/auth/shiro/impl/ShiroAuthProviderImpl;
0 6 1 vertx Lio/vertx/core/Vertx;
0 6 2 realm Lorg/apache/shiro/realm/Realm;
MethodParameters:
Name Flags
vertx
realm
public void authenticate(io.vertx.core.json.JsonObject, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.ext.auth.User>>);
descriptor: (Lio/vertx/core/json/JsonObject;Lio/vertx/core/Handler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield io.vertx.ext.auth.shiro.impl.ShiroAuthProviderImpl.vertx:Lio/vertx/core/Vertx;
aload 0
aload 1
invokedynamic handle(Lio/vertx/ext/auth/shiro/impl/ShiroAuthProviderImpl;Lio/vertx/core/json/JsonObject;)Lio/vertx/core/Handler;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
io/vertx/ext/auth/shiro/impl/ShiroAuthProviderImpl.lambda$0(Lio/vertx/core/json/JsonObject;Lio/vertx/core/Promise;)V (7)
(Lio/vertx/core/Promise;)V
1: aload 2
2: invokeinterface io.vertx.core.Vertx.executeBlocking:(Lio/vertx/core/Handler;Lio/vertx/core/Handler;)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/vertx/ext/auth/shiro/impl/ShiroAuthProviderImpl;
0 4 1 authInfo Lio/vertx/core/json/JsonObject;
0 4 2 resultHandler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/auth/User;>;>;
Signature: (Lio/vertx/core/json/JsonObject;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/auth/User;>;>;)V
MethodParameters:
Name Flags
authInfo
resultHandler
public io.vertx.ext.auth.shiro.ShiroAuth setRolePrefix(java.lang.String);
descriptor: (Ljava/lang/String;)Lio/vertx/ext/auth/shiro/ShiroAuth;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield io.vertx.ext.auth.shiro.impl.ShiroAuthProviderImpl.rolePrefix:Ljava/lang/String;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/ext/auth/shiro/impl/ShiroAuthProviderImpl;
0 2 1 rolePrefix Ljava/lang/String;
MethodParameters:
Name Flags
rolePrefix
io.vertx.core.Vertx getVertx();
descriptor: ()Lio/vertx/core/Vertx;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.ext.auth.shiro.impl.ShiroAuthProviderImpl.vertx:Lio/vertx/core/Vertx;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/ext/auth/shiro/impl/ShiroAuthProviderImpl;
org.apache.shiro.mgt.SecurityManager getSecurityManager();
descriptor: ()Lorg/apache/shiro/mgt/SecurityManager;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.ext.auth.shiro.impl.ShiroAuthProviderImpl.securityManager:Lorg/apache/shiro/mgt/SecurityManager;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/ext/auth/shiro/impl/ShiroAuthProviderImpl;
java.lang.String getRealmName();
descriptor: ()Ljava/lang/String;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.ext.auth.shiro.impl.ShiroAuthProviderImpl.realmName:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/ext/auth/shiro/impl/ShiroAuthProviderImpl;
static int[] $SWITCH_TABLE$io$vertx$ext$auth$shiro$ShiroAuthRealmType();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic io.vertx.ext.auth.shiro.impl.ShiroAuthProviderImpl.$SWITCH_TABLE$io$vertx$ext$auth$shiro$ShiroAuthRealmType:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic io.vertx.ext.auth.shiro.ShiroAuthRealmType.values:()[Lio/vertx/ext/auth/shiro/ShiroAuthRealmType;
arraylength
newarray 10
astore 0
2: aload 0
getstatic io.vertx.ext.auth.shiro.ShiroAuthRealmType.LDAP:Lio/vertx/ext/auth/shiro/ShiroAuthRealmType;
invokevirtual io.vertx.ext.auth.shiro.ShiroAuthRealmType.ordinal:()I
iconst_2
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic io.vertx.ext.auth.shiro.ShiroAuthRealmType.PROPERTIES:Lio/vertx/ext/auth/shiro/ShiroAuthRealmType;
invokevirtual io.vertx.ext.auth.shiro.ShiroAuthRealmType.ordinal:()I
iconst_1
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
dup
putstatic io.vertx.ext.auth.shiro.impl.ShiroAuthProviderImpl.$SWITCH_TABLE$io$vertx$ext$auth$shiro$ShiroAuthRealmType:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
private void lambda$0(io.vertx.core.json.JsonObject, io.vertx.core.Promise);
descriptor: (Lio/vertx/core/json/JsonObject;Lio/vertx/core/Promise;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=7, locals=9, args_size=3
start local 0 start local 2 0: aload 0
getfield io.vertx.ext.auth.shiro.impl.ShiroAuthProviderImpl.securityManager:Lorg/apache/shiro/mgt/SecurityManager;
invokestatic org.apache.shiro.SecurityUtils.setSecurityManager:(Lorg/apache/shiro/mgt/SecurityManager;)V
1: new org.apache.shiro.subject.support.DefaultSubjectContext
dup
invokespecial org.apache.shiro.subject.support.DefaultSubjectContext.<init>:()V
astore 3
start local 3 2: aload 0
getfield io.vertx.ext.auth.shiro.impl.ShiroAuthProviderImpl.securityManager:Lorg/apache/shiro/mgt/SecurityManager;
aload 3
invokeinterface org.apache.shiro.mgt.SecurityManager.createSubject:(Lorg/apache/shiro/subject/SubjectContext;)Lorg/apache/shiro/subject/Subject;
astore 4
start local 4 3: aload 1
ldc "username"
invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
astore 5
start local 5 4: aload 1
ldc "password"
invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
astore 6
start local 6 5: new org.apache.shiro.authc.UsernamePasswordToken
dup
aload 5
aload 6
invokespecial org.apache.shiro.authc.UsernamePasswordToken.<init>:(Ljava/lang/String;Ljava/lang/String;)V
astore 7
start local 7 6: aload 4
aload 7
invokeinterface org.apache.shiro.subject.Subject.login:(Lorg/apache/shiro/authc/AuthenticationToken;)V
7: aload 2
new io.vertx.ext.auth.shiro.impl.ShiroUser
dup
aload 0
getfield io.vertx.ext.auth.shiro.impl.ShiroAuthProviderImpl.vertx:Lio/vertx/core/Vertx;
aload 0
getfield io.vertx.ext.auth.shiro.impl.ShiroAuthProviderImpl.securityManager:Lorg/apache/shiro/mgt/SecurityManager;
aload 4
aload 0
getfield io.vertx.ext.auth.shiro.impl.ShiroAuthProviderImpl.rolePrefix:Ljava/lang/String;
invokespecial io.vertx.ext.auth.shiro.impl.ShiroUser.<init>:(Lio/vertx/core/Vertx;Lorg/apache/shiro/mgt/SecurityManager;Lorg/apache/shiro/subject/Subject;Ljava/lang/String;)V
invokeinterface io.vertx.core.Promise.complete:(Ljava/lang/Object;)V
8: goto 11
StackMap locals: io.vertx.ext.auth.shiro.impl.ShiroAuthProviderImpl io.vertx.core.json.JsonObject io.vertx.core.Promise org.apache.shiro.subject.SubjectContext org.apache.shiro.subject.Subject java.lang.String java.lang.String org.apache.shiro.authc.AuthenticationToken
StackMap stack: org.apache.shiro.authc.AuthenticationException
9: astore 8
start local 8 10: aload 2
aload 8
invokeinterface io.vertx.core.Promise.fail:(Ljava/lang/Throwable;)V
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 11: StackMap locals: io.vertx.ext.auth.shiro.impl.ShiroAuthProviderImpl io.vertx.core.json.JsonObject io.vertx.core.Promise
StackMap stack:
return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lio/vertx/ext/auth/shiro/impl/ShiroAuthProviderImpl;
0 12 2 fut Lio/vertx/core/Promise<Lio/vertx/ext/auth/User;>;
2 11 3 subjectContext Lorg/apache/shiro/subject/SubjectContext;
3 11 4 subject Lorg/apache/shiro/subject/Subject;
4 11 5 username Ljava/lang/String;
5 11 6 password Ljava/lang/String;
6 11 7 token Lorg/apache/shiro/authc/AuthenticationToken;
10 11 8 e Lorg/apache/shiro/authc/AuthenticationException;
Exception table:
from to target type
6 8 9 Class org.apache.shiro.authc.AuthenticationException
}
SourceFile: "ShiroAuthProviderImpl.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles