public class org.apache.catalina.realm.JAASRealm extends org.apache.catalina.realm.RealmBase
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.catalina.realm.JAASRealm
super_class: org.apache.catalina.realm.RealmBase
{
private static final org.apache.juli.logging.Log log;
descriptor: Lorg/apache/juli/logging/Log;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
protected java.lang.String appName;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
protected final java.util.List<java.lang.String> roleClasses;
descriptor: Ljava/util/List;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Signature: Ljava/util/List<Ljava/lang/String;>;
protected final java.util.List<java.lang.String> userClasses;
descriptor: Ljava/util/List;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Signature: Ljava/util/List<Ljava/lang/String;>;
protected boolean useContextClassLoader;
descriptor: Z
flags: (0x0004) ACC_PROTECTED
protected java.lang.String configFile;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
protected volatile javax.security.auth.login.Configuration jaasConfiguration;
descriptor: Ljavax/security/auth/login/Configuration;
flags: (0x0044) ACC_PROTECTED, ACC_VOLATILE
protected volatile boolean jaasConfigurationLoaded;
descriptor: Z
flags: (0x0044) ACC_PROTECTED, ACC_VOLATILE
private volatile boolean invocationSuccess;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
protected java.lang.String roleClassNames;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
protected java.lang.String userClassNames;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/apache/catalina/realm/JAASRealm;
invokestatic org.apache.juli.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/juli/logging/Log;
putstatic org.apache.catalina.realm.JAASRealm.log:Lorg/apache/juli/logging/Log;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.apache.catalina.realm.RealmBase.<init>:()V
1: aload 0
aconst_null
putfield org.apache.catalina.realm.JAASRealm.appName:Ljava/lang/String;
2: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield org.apache.catalina.realm.JAASRealm.roleClasses:Ljava/util/List;
3: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield org.apache.catalina.realm.JAASRealm.userClasses:Ljava/util/List;
4: aload 0
iconst_1
putfield org.apache.catalina.realm.JAASRealm.useContextClassLoader:Z
5: aload 0
iconst_0
putfield org.apache.catalina.realm.JAASRealm.jaasConfigurationLoaded:Z
6: aload 0
iconst_1
putfield org.apache.catalina.realm.JAASRealm.invocationSuccess:Z
7: aload 0
aconst_null
putfield org.apache.catalina.realm.JAASRealm.roleClassNames:Ljava/lang/String;
8: aload 0
aconst_null
putfield org.apache.catalina.realm.JAASRealm.userClassNames:Ljava/lang/String;
9: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/apache/catalina/realm/JAASRealm;
public java.lang.String getConfigFile();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.realm.JAASRealm.configFile:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/realm/JAASRealm;
public void setConfigFile(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.apache.catalina.realm.JAASRealm.configFile:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/realm/JAASRealm;
0 2 1 configFile Ljava/lang/String;
MethodParameters:
Name Flags
configFile
public void setAppName(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.apache.catalina.realm.JAASRealm.appName:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/realm/JAASRealm;
0 2 1 name Ljava/lang/String;
MethodParameters:
Name Flags
name
public java.lang.String getAppName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.realm.JAASRealm.appName:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/realm/JAASRealm;
public void setUseContextClassLoader(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.apache.catalina.realm.JAASRealm.useContextClassLoader:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/realm/JAASRealm;
0 2 1 useContext Z
MethodParameters:
Name Flags
useContext
public boolean isUseContextClassLoader();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.realm.JAASRealm.useContextClassLoader:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/realm/JAASRealm;
public void setContainer(org.apache.catalina.Container);
descriptor: (Lorg/apache/catalina/Container;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial org.apache.catalina.realm.RealmBase.setContainer:(Lorg/apache/catalina/Container;)V
1: aload 0
getfield org.apache.catalina.realm.JAASRealm.appName:Ljava/lang/String;
ifnonnull 4
2: aload 0
aload 0
aload 1
invokeinterface org.apache.catalina.Container.getName:()Ljava/lang/String;
invokevirtual org.apache.catalina.realm.JAASRealm.makeLegalForJAAS:(Ljava/lang/String;)Ljava/lang/String;
putfield org.apache.catalina.realm.JAASRealm.appName:Ljava/lang/String;
3: getstatic org.apache.catalina.realm.JAASRealm.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.realm.JAASRealm.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "jaasRealm.appName"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield org.apache.catalina.realm.JAASRealm.appName:Ljava/lang/String;
aastore
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.info:(Ljava/lang/Object;)V
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/catalina/realm/JAASRealm;
0 5 1 container Lorg/apache/catalina/Container;
MethodParameters:
Name Flags
container
public java.lang.String getRoleClassNames();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.realm.JAASRealm.roleClassNames:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/realm/JAASRealm;
public void setRoleClassNames(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.apache.catalina.realm.JAASRealm.roleClassNames:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/realm/JAASRealm;
0 2 1 roleClassNames Ljava/lang/String;
MethodParameters:
Name Flags
roleClassNames
protected void parseClassNames(java.lang.String, java.util.List<java.lang.String>);
descriptor: (Ljava/lang/String;Ljava/util/List;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokeinterface java.util.List.clear:()V
1: aload 1
ifnonnull 2
return
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
astore 3
start local 3 3: aload 0
invokevirtual org.apache.catalina.realm.JAASRealm.isUseContextClassLoader:()Z
ifeq 5
4: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
astore 3
5: StackMap locals: java.lang.ClassLoader
StackMap stack:
aload 1
ldc "[ ]*,[ ]*"
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 4
start local 4 6: aload 4
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 20
StackMap locals: org.apache.catalina.realm.JAASRealm java.lang.String java.util.List java.lang.ClassLoader java.lang.String[] top int int java.lang.String[]
StackMap stack:
7: aload 8
iload 6
aaload
astore 5
start local 5 8: aload 5
invokevirtual java.lang.String.length:()I
ifne 9
goto 19
9: StackMap locals: org.apache.catalina.realm.JAASRealm java.lang.String java.util.List java.lang.ClassLoader java.lang.String[] java.lang.String int int java.lang.String[]
StackMap stack:
aload 5
iconst_0
10: aload 3
11: invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
astore 9
start local 9 12: ldc Ljava/security/Principal;
aload 9
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 15
13: aload 2
aload 5
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
14: goto 19
15: StackMap locals: java.lang.Class
StackMap stack:
getstatic org.apache.catalina.realm.JAASRealm.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.realm.JAASRealm.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "jaasRealm.notPrincipal"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 5
aastore
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;)V
end local 9 16: goto 19
StackMap locals: org.apache.catalina.realm.JAASRealm java.lang.String java.util.List java.lang.ClassLoader java.lang.String[] java.lang.String int int java.lang.String[]
StackMap stack: java.lang.ClassNotFoundException
17: pop
18: getstatic org.apache.catalina.realm.JAASRealm.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.realm.JAASRealm.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "jaasRealm.classNotFound"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 5
aastore
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;)V
end local 5 19: StackMap locals: org.apache.catalina.realm.JAASRealm java.lang.String java.util.List java.lang.ClassLoader java.lang.String[] top int int java.lang.String[]
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
20: iload 6
iload 7
if_icmplt 7
21: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lorg/apache/catalina/realm/JAASRealm;
0 22 1 classNamesString Ljava/lang/String;
0 22 2 classNamesList Ljava/util/List<Ljava/lang/String;>;
3 22 3 loader Ljava/lang/ClassLoader;
6 22 4 classNames [Ljava/lang/String;
8 19 5 className Ljava/lang/String;
12 16 9 principalClass Ljava/lang/Class<*>;
Exception table:
from to target type
9 16 17 Class java.lang.ClassNotFoundException
Signature: (Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;)V
MethodParameters:
Name Flags
classNamesString
classNamesList
public java.lang.String getUserClassNames();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.realm.JAASRealm.userClassNames:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/realm/JAASRealm;
public void setUserClassNames(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.apache.catalina.realm.JAASRealm.userClassNames:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/realm/JAASRealm;
0 2 1 userClassNames Ljava/lang/String;
MethodParameters:
Name Flags
userClassNames
public java.security.Principal authenticate(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/security/Principal;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
1: new org.apache.catalina.realm.JAASCallbackHandler
dup
aload 0
aload 1
aload 2
invokespecial org.apache.catalina.realm.JAASCallbackHandler.<init>:(Lorg/apache/catalina/realm/JAASRealm;Ljava/lang/String;Ljava/lang/String;)V
2: invokevirtual org.apache.catalina.realm.JAASRealm.authenticate:(Ljava/lang/String;Ljavax/security/auth/callback/CallbackHandler;)Ljava/security/Principal;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/catalina/realm/JAASRealm;
0 3 1 username Ljava/lang/String;
0 3 2 credentials Ljava/lang/String;
MethodParameters:
Name Flags
username
credentials
public java.security.Principal authenticate(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/security/Principal;
flags: (0x0001) ACC_PUBLIC
Code:
stack=14, locals=9, args_size=9
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: aload 0
aload 1
1: new org.apache.catalina.realm.JAASCallbackHandler
dup
aload 0
aload 1
aload 2
aload 3
2: aload 4
aload 5
aload 6
aload 7
aload 8
3: ldc "DIGEST"
4: invokespecial org.apache.catalina.realm.JAASCallbackHandler.<init>:(Lorg/apache/catalina/realm/JAASRealm;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
5: invokevirtual org.apache.catalina.realm.JAASRealm.authenticate:(Ljava/lang/String;Ljavax/security/auth/callback/CallbackHandler;)Ljava/security/Principal;
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/catalina/realm/JAASRealm;
0 6 1 username Ljava/lang/String;
0 6 2 clientDigest Ljava/lang/String;
0 6 3 nonce Ljava/lang/String;
0 6 4 nc Ljava/lang/String;
0 6 5 cnonce Ljava/lang/String;
0 6 6 qop Ljava/lang/String;
0 6 7 realmName Ljava/lang/String;
0 6 8 md5a2 Ljava/lang/String;
MethodParameters:
Name Flags
username
clientDigest
nonce
nc
cnonce
qop
realmName
md5a2
protected java.security.Principal authenticate(java.lang.String, javax.security.auth.callback.CallbackHandler);
descriptor: (Ljava/lang/String;Ljavax/security/auth/callback/CallbackHandler;)Ljava/security/Principal;
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: aload 0
getfield org.apache.catalina.realm.JAASRealm.appName:Ljava/lang/String;
ifnonnull 2
aload 0
ldc "Tomcat"
putfield org.apache.catalina.realm.JAASRealm.appName:Ljava/lang/String;
2: StackMap locals: javax.security.auth.login.LoginContext
StackMap stack:
getstatic org.apache.catalina.realm.JAASRealm.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 4
3: getstatic org.apache.catalina.realm.JAASRealm.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.realm.JAASRealm.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "jaasRealm.beginLogin"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 0
getfield org.apache.catalina.realm.JAASRealm.appName:Ljava/lang/String;
aastore
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
4: StackMap locals:
StackMap stack:
aconst_null
astore 4
start local 4 5: aload 0
invokevirtual org.apache.catalina.realm.JAASRealm.isUseContextClassLoader:()Z
ifne 10
6: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
astore 4
7: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
8: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
9: invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
10: StackMap locals: java.lang.ClassLoader
StackMap stack:
aload 0
invokevirtual org.apache.catalina.realm.JAASRealm.getConfig:()Ljavax/security/auth/login/Configuration;
astore 5
start local 5 11: new javax.security.auth.login.LoginContext
dup
12: aload 0
getfield org.apache.catalina.realm.JAASRealm.appName:Ljava/lang/String;
aconst_null
aload 2
aload 5
13: invokespecial javax.security.auth.login.LoginContext.<init>:(Ljava/lang/String;Ljavax/security/auth/Subject;Ljavax/security/auth/callback/CallbackHandler;Ljavax/security/auth/login/Configuration;)V
astore 3
end local 5 14: goto 26
StackMap locals:
StackMap stack: java.lang.Throwable
15: astore 5
start local 5 16: aload 5
invokestatic org.apache.tomcat.util.ExceptionUtils.handleThrowable:(Ljava/lang/Throwable;)V
17: getstatic org.apache.catalina.realm.JAASRealm.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.realm.JAASRealm.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "jaasRealm.unexpectedError"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 5
invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
18: aload 0
iconst_0
putfield org.apache.catalina.realm.JAASRealm.invocationSuccess:Z
19: aload 0
invokevirtual org.apache.catalina.realm.JAASRealm.isUseContextClassLoader:()Z
ifne 21
20: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
aload 4
invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
21: StackMap locals: java.lang.Throwable
StackMap stack:
aconst_null
areturn
end local 5 22: StackMap locals: org.apache.catalina.realm.JAASRealm java.lang.String javax.security.auth.callback.CallbackHandler javax.security.auth.login.LoginContext java.lang.ClassLoader
StackMap stack: java.lang.Throwable
astore 6
23: aload 0
invokevirtual org.apache.catalina.realm.JAASRealm.isUseContextClassLoader:()Z
ifne 25
24: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
aload 4
invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
25: StackMap locals: org.apache.catalina.realm.JAASRealm java.lang.String javax.security.auth.callback.CallbackHandler javax.security.auth.login.LoginContext java.lang.ClassLoader top java.lang.Throwable
StackMap stack:
aload 6
athrow
26: StackMap locals: org.apache.catalina.realm.JAASRealm java.lang.String javax.security.auth.callback.CallbackHandler javax.security.auth.login.LoginContext java.lang.ClassLoader
StackMap stack:
aload 0
invokevirtual org.apache.catalina.realm.JAASRealm.isUseContextClassLoader:()Z
ifne 28
27: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
aload 4
invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
28: StackMap locals:
StackMap stack:
getstatic org.apache.catalina.realm.JAASRealm.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 30
29: getstatic org.apache.catalina.realm.JAASRealm.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Login context created "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
30: StackMap locals:
StackMap stack:
aconst_null
astore 5
start local 5 31: aload 3
invokevirtual javax.security.auth.login.LoginContext.login:()V
32: aload 3
invokevirtual javax.security.auth.login.LoginContext.getSubject:()Ljavax/security/auth/Subject;
astore 5
33: aload 0
iconst_1
putfield org.apache.catalina.realm.JAASRealm.invocationSuccess:Z
34: aload 5
ifnonnull 62
35: getstatic org.apache.catalina.realm.JAASRealm.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 37
36: getstatic org.apache.catalina.realm.JAASRealm.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.realm.JAASRealm.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "jaasRealm.failedLogin"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
37: StackMap locals: javax.security.auth.Subject
StackMap stack:
aconst_null
areturn
38: StackMap locals:
StackMap stack: javax.security.auth.login.AccountExpiredException
pop
39: getstatic org.apache.catalina.realm.JAASRealm.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 41
40: getstatic org.apache.catalina.realm.JAASRealm.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.realm.JAASRealm.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "jaasRealm.accountExpired"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
41: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield org.apache.catalina.realm.JAASRealm.invocationSuccess:Z
42: aconst_null
areturn
43: StackMap locals:
StackMap stack: javax.security.auth.login.CredentialExpiredException
pop
44: getstatic org.apache.catalina.realm.JAASRealm.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 46
45: getstatic org.apache.catalina.realm.JAASRealm.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.realm.JAASRealm.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "jaasRealm.credentialExpired"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
46: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield org.apache.catalina.realm.JAASRealm.invocationSuccess:Z
47: aconst_null
areturn
48: StackMap locals:
StackMap stack: javax.security.auth.login.FailedLoginException
pop
49: getstatic org.apache.catalina.realm.JAASRealm.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 51
50: getstatic org.apache.catalina.realm.JAASRealm.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.realm.JAASRealm.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "jaasRealm.failedLogin"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
51: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield org.apache.catalina.realm.JAASRealm.invocationSuccess:Z
52: aconst_null
areturn
53: StackMap locals:
StackMap stack: javax.security.auth.login.LoginException
astore 6
start local 6 54: getstatic org.apache.catalina.realm.JAASRealm.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.realm.JAASRealm.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "jaasRealm.loginException"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
aload 6
invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;Ljava/lang/Throwable;)V
55: aload 0
iconst_1
putfield org.apache.catalina.realm.JAASRealm.invocationSuccess:Z
56: aconst_null
areturn
end local 6 57: StackMap locals:
StackMap stack: java.lang.Throwable
astore 6
start local 6 58: aload 6
invokestatic org.apache.tomcat.util.ExceptionUtils.handleThrowable:(Ljava/lang/Throwable;)V
59: getstatic org.apache.catalina.realm.JAASRealm.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.realm.JAASRealm.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "jaasRealm.unexpectedError"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 6
invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
60: aload 0
iconst_0
putfield org.apache.catalina.realm.JAASRealm.invocationSuccess:Z
61: aconst_null
areturn
end local 6 62: StackMap locals:
StackMap stack:
getstatic org.apache.catalina.realm.JAASRealm.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 64
63: getstatic org.apache.catalina.realm.JAASRealm.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.realm.JAASRealm.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "jaasRealm.loginContextCreated"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
64: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 5
aload 3
invokevirtual org.apache.catalina.realm.JAASRealm.createPrincipal:(Ljava/lang/String;Ljavax/security/auth/Subject;Ljavax/security/auth/login/LoginContext;)Ljava/security/Principal;
astore 6
start local 6 65: aload 6
ifnonnull 68
66: getstatic org.apache.catalina.realm.JAASRealm.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.realm.JAASRealm.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "jaasRealm.authenticateFailure"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
67: aconst_null
areturn
68: StackMap locals: java.security.Principal
StackMap stack:
getstatic org.apache.catalina.realm.JAASRealm.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 70
69: getstatic org.apache.catalina.realm.JAASRealm.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.realm.JAASRealm.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "jaasRealm.authenticateSuccess"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 6
aastore
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
70: StackMap locals:
StackMap stack:
aload 6
71: areturn
end local 6 end local 5 end local 4 end local 3 72: StackMap locals: org.apache.catalina.realm.JAASRealm java.lang.String javax.security.auth.callback.CallbackHandler
StackMap stack: java.lang.Throwable
astore 3
start local 3 73: getstatic org.apache.catalina.realm.JAASRealm.log:Lorg/apache/juli/logging/Log;
ldc "error "
aload 3
invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
74: aload 0
iconst_0
putfield org.apache.catalina.realm.JAASRealm.invocationSuccess:Z
75: aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 76 0 this Lorg/apache/catalina/realm/JAASRealm;
0 76 1 username Ljava/lang/String;
0 76 2 callbackHandler Ljavax/security/auth/callback/CallbackHandler;
1 72 3 loginContext Ljavax/security/auth/login/LoginContext;
5 72 4 ocl Ljava/lang/ClassLoader;
11 14 5 config Ljavax/security/auth/login/Configuration;
16 22 5 e Ljava/lang/Throwable;
31 72 5 subject Ljavax/security/auth/Subject;
54 57 6 e Ljavax/security/auth/login/LoginException;
58 62 6 e Ljava/lang/Throwable;
65 72 6 principal Ljava/security/Principal;
73 76 3 t Ljava/lang/Throwable;
Exception table:
from to target type
10 14 15 Class java.lang.Throwable
10 19 22 any
31 37 38 Class javax.security.auth.login.AccountExpiredException
31 37 43 Class javax.security.auth.login.CredentialExpiredException
31 37 48 Class javax.security.auth.login.FailedLoginException
31 37 53 Class javax.security.auth.login.LoginException
31 37 57 Class java.lang.Throwable
0 21 72 Class java.lang.Throwable
22 37 72 Class java.lang.Throwable
38 42 72 Class java.lang.Throwable
43 47 72 Class java.lang.Throwable
48 52 72 Class java.lang.Throwable
53 56 72 Class java.lang.Throwable
57 61 72 Class java.lang.Throwable
62 67 72 Class java.lang.Throwable
68 71 72 Class java.lang.Throwable
MethodParameters:
Name Flags
username
callbackHandler
protected java.lang.String getPassword(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/realm/JAASRealm;
0 1 1 username Ljava/lang/String;
MethodParameters:
Name Flags
username
protected java.security.Principal getPrincipal(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/security/Principal;
flags: (0x0004) ACC_PROTECTED
Code:
stack=14, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
1: new org.apache.catalina.realm.JAASCallbackHandler
dup
aload 0
aload 1
aconst_null
aconst_null
aconst_null
aconst_null
2: aconst_null
aconst_null
aconst_null
ldc "CLIENT_CERT"
3: invokespecial org.apache.catalina.realm.JAASCallbackHandler.<init>:(Lorg/apache/catalina/realm/JAASRealm;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
4: invokevirtual org.apache.catalina.realm.JAASRealm.authenticate:(Ljava/lang/String;Ljavax/security/auth/callback/CallbackHandler;)Ljava/security/Principal;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/catalina/realm/JAASRealm;
0 5 1 username Ljava/lang/String;
MethodParameters:
Name Flags
username
protected java.security.Principal createPrincipal(java.lang.String, javax.security.auth.Subject, javax.security.auth.login.LoginContext);
descriptor: (Ljava/lang/String;Ljavax/security/auth/Subject;Ljavax/security/auth/login/LoginContext;)Ljava/security/Principal;
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
start local 4 1: aconst_null
astore 5
start local 5 2: aload 2
invokevirtual javax.security.auth.Subject.getPrincipals:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 7
goto 15
StackMap locals: org.apache.catalina.realm.JAASRealm java.lang.String javax.security.auth.Subject javax.security.auth.login.LoginContext java.util.List java.security.Principal top java.util.Iterator
StackMap stack:
3: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.security.Principal
astore 6
start local 6 4: aload 6
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
astore 8
start local 8 5: getstatic org.apache.catalina.realm.JAASRealm.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 7
6: getstatic org.apache.catalina.realm.JAASRealm.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.realm.JAASRealm.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "jaasRealm.checkPrincipal"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 6
aastore
dup
iconst_1
aload 8
aastore
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
7: StackMap locals: org.apache.catalina.realm.JAASRealm java.lang.String javax.security.auth.Subject javax.security.auth.login.LoginContext java.util.List java.security.Principal java.security.Principal java.util.Iterator java.lang.String
StackMap stack:
aload 5
ifnonnull 11
aload 0
getfield org.apache.catalina.realm.JAASRealm.userClasses:Ljava/util/List;
aload 8
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
ifeq 11
8: aload 6
astore 5
9: getstatic org.apache.catalina.realm.JAASRealm.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 11
10: getstatic org.apache.catalina.realm.JAASRealm.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.realm.JAASRealm.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "jaasRealm.userPrincipalSuccess"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 6
invokeinterface java.security.Principal.getName:()Ljava/lang/String;
aastore
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
11: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.realm.JAASRealm.roleClasses:Ljava/util/List;
aload 8
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
ifeq 15
12: aload 4
aload 6
invokeinterface java.security.Principal.getName:()Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
13: getstatic org.apache.catalina.realm.JAASRealm.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 15
14: getstatic org.apache.catalina.realm.JAASRealm.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.realm.JAASRealm.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "jaasRealm.rolePrincipalAdd"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 6
invokeinterface java.security.Principal.getName:()Ljava/lang/String;
aastore
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
end local 8 end local 6 15: StackMap locals: org.apache.catalina.realm.JAASRealm java.lang.String javax.security.auth.Subject javax.security.auth.login.LoginContext java.util.List java.security.Principal top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
16: aload 5
ifnonnull 21
17: getstatic org.apache.catalina.realm.JAASRealm.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 20
18: getstatic org.apache.catalina.realm.JAASRealm.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.realm.JAASRealm.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "jaasRealm.userPrincipalFailure"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
19: getstatic org.apache.catalina.realm.JAASRealm.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.realm.JAASRealm.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "jaasRealm.rolePrincipalFailure"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
20: StackMap locals: org.apache.catalina.realm.JAASRealm java.lang.String javax.security.auth.Subject javax.security.auth.login.LoginContext java.util.List java.security.Principal
StackMap stack:
aconst_null
areturn
21: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.List.size:()I
ifne 24
22: getstatic org.apache.catalina.realm.JAASRealm.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 24
23: getstatic org.apache.catalina.realm.JAASRealm.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.realm.JAASRealm.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "jaasRealm.rolePrincipalFailure"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
24: StackMap locals:
StackMap stack:
new org.apache.catalina.realm.GenericPrincipal
dup
aload 1
aload 4
aload 5
25: aload 3
26: invokespecial org.apache.catalina.realm.GenericPrincipal.<init>:(Ljava/lang/String;Ljava/util/List;Ljava/security/Principal;Ljavax/security/auth/login/LoginContext;)V
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lorg/apache/catalina/realm/JAASRealm;
0 27 1 username Ljava/lang/String;
0 27 2 subject Ljavax/security/auth/Subject;
0 27 3 loginContext Ljavax/security/auth/login/LoginContext;
1 27 4 roles Ljava/util/List<Ljava/lang/String;>;
2 27 5 userPrincipal Ljava/security/Principal;
4 15 6 principal Ljava/security/Principal;
5 15 8 principalClass Ljava/lang/String;
MethodParameters:
Name Flags
username
subject
loginContext
protected java.lang.String makeLegalForJAAS(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
astore 2
start local 2 1: aload 2
ifnonnull 3
2: ldc "other"
astore 2
3: StackMap locals: java.lang.String
StackMap stack:
aload 2
ldc "/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 5
4: aload 2
iconst_1
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 2
5: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/catalina/realm/JAASRealm;
0 6 1 src Ljava/lang/String;
1 6 2 result Ljava/lang/String;
MethodParameters:
Name Flags
src final
protected void startInternal();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield org.apache.catalina.realm.JAASRealm.userClassNames:Ljava/lang/String;
aload 0
getfield org.apache.catalina.realm.JAASRealm.userClasses:Ljava/util/List;
invokevirtual org.apache.catalina.realm.JAASRealm.parseClassNames:(Ljava/lang/String;Ljava/util/List;)V
1: aload 0
aload 0
getfield org.apache.catalina.realm.JAASRealm.roleClassNames:Ljava/lang/String;
aload 0
getfield org.apache.catalina.realm.JAASRealm.roleClasses:Ljava/util/List;
invokevirtual org.apache.catalina.realm.JAASRealm.parseClassNames:(Ljava/lang/String;Ljava/util/List;)V
2: aload 0
invokespecial org.apache.catalina.realm.RealmBase.startInternal:()V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/catalina/realm/JAASRealm;
Exceptions:
throws org.apache.catalina.LifecycleException
protected javax.security.auth.login.Configuration getConfig();
descriptor: ()Ljavax/security/auth/login/Configuration;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=8, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.realm.JAASRealm.configFile:Ljava/lang/String;
astore 1
start local 1 1: aload 0
getfield org.apache.catalina.realm.JAASRealm.jaasConfigurationLoaded:Z
ifeq 4
2: aload 0
getfield org.apache.catalina.realm.JAASRealm.jaasConfiguration:Ljavax/security/auth/login/Configuration;
3: areturn
4: StackMap locals: java.lang.String
StackMap stack:
aload 0
dup
astore 2
monitorenter
5: aload 1
ifnonnull 9
6: aload 0
iconst_1
putfield org.apache.catalina.realm.JAASRealm.jaasConfigurationLoaded:Z
7: aload 2
monitorexit
8: aconst_null
areturn
9: StackMap locals: org.apache.catalina.realm.JAASRealm
StackMap stack:
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
aload 1
invokevirtual java.lang.ClassLoader.getResource:(Ljava/lang/String;)Ljava/net/URL;
astore 3
start local 3 10: aload 3
invokevirtual java.net.URL.toURI:()Ljava/net/URI;
astore 4
start local 4 11: ldc "com.sun.security.auth.login.ConfigFile"
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
12: astore 5
start local 5 13: aload 5
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/net/URI;
aastore
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
14: astore 6
start local 6 15: aload 6
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 4
aastore
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast javax.security.auth.login.Configuration
astore 7
start local 7 16: aload 0
aload 7
putfield org.apache.catalina.realm.JAASRealm.jaasConfiguration:Ljavax/security/auth/login/Configuration;
17: aload 0
iconst_1
putfield org.apache.catalina.realm.JAASRealm.jaasConfigurationLoaded:Z
18: aload 0
getfield org.apache.catalina.realm.JAASRealm.jaasConfiguration:Ljavax/security/auth/login/Configuration;
aload 2
monitorexit
19: areturn
end local 7 end local 6 end local 5 end local 4 end local 3 20: StackMap locals:
StackMap stack: java.lang.Throwable
aload 2
monitorexit
21: athrow
22: StackMap locals: org.apache.catalina.realm.JAASRealm java.lang.String
StackMap stack: java.lang.reflect.InvocationTargetException
astore 2
start local 2 23: new java.lang.RuntimeException
dup
aload 2
invokevirtual java.lang.reflect.InvocationTargetException.getCause:()Ljava/lang/Throwable;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 2 24: StackMap locals:
StackMap stack: java.lang.Exception
astore 2
start local 2 25: new java.lang.RuntimeException
dup
aload 2
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lorg/apache/catalina/realm/JAASRealm;
1 26 1 configFile Ljava/lang/String;
10 20 3 resource Ljava/net/URL;
11 20 4 uri Ljava/net/URI;
13 20 5 sunConfigFile Ljava/lang/Class<Ljavax/security/auth/login/Configuration;>;
15 20 6 constructor Ljava/lang/reflect/Constructor<Ljavax/security/auth/login/Configuration;>;
16 20 7 config Ljavax/security/auth/login/Configuration;
23 24 2 ex Ljava/lang/reflect/InvocationTargetException;
25 26 2 ex Ljava/lang/Exception;
Exception table:
from to target type
5 8 20 any
9 19 20 any
20 21 20 any
1 3 22 Class java.lang.reflect.InvocationTargetException
4 8 22 Class java.lang.reflect.InvocationTargetException
9 19 22 Class java.lang.reflect.InvocationTargetException
20 22 22 Class java.lang.reflect.InvocationTargetException
1 3 24 Class java.lang.SecurityException
4 8 24 Class java.lang.SecurityException
9 19 24 Class java.lang.SecurityException
20 22 24 Class java.lang.SecurityException
1 3 24 Class java.net.URISyntaxException
4 8 24 Class java.net.URISyntaxException
9 19 24 Class java.net.URISyntaxException
20 22 24 Class java.net.URISyntaxException
1 3 24 Class java.lang.ReflectiveOperationException
4 8 24 Class java.lang.ReflectiveOperationException
9 19 24 Class java.lang.ReflectiveOperationException
20 22 24 Class java.lang.ReflectiveOperationException
1 3 24 Class java.lang.IllegalArgumentException
4 8 24 Class java.lang.IllegalArgumentException
9 19 24 Class java.lang.IllegalArgumentException
20 22 24 Class java.lang.IllegalArgumentException
public boolean isAvailable();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.realm.JAASRealm.invocationSuccess:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/realm/JAASRealm;
}
SourceFile: "JAASRealm.java"