public class javax.security.auth.login.LoginContext
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: javax.security.auth.login.LoginContext
super_class: java.lang.Object
{
private static final java.lang.String INIT_METHOD;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "initialize"
private static final java.lang.String LOGIN_METHOD;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "login"
private static final java.lang.String COMMIT_METHOD;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "commit"
private static final java.lang.String ABORT_METHOD;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "abort"
private static final java.lang.String LOGOUT_METHOD;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "logout"
private static final java.lang.String OTHER;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "other"
private static final java.lang.String DEFAULT_HANDLER;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "auth.login.defaultCallbackHandler"
private javax.security.auth.Subject subject;
descriptor: Ljavax/security/auth/Subject;
flags: (0x0002) ACC_PRIVATE
private boolean subjectProvided;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean loginSucceeded;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private javax.security.auth.callback.CallbackHandler callbackHandler;
descriptor: Ljavax/security/auth/callback/CallbackHandler;
flags: (0x0002) ACC_PRIVATE
private java.util.Map<java.lang.String, ?> state;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljava/lang/String;*>;
private javax.security.auth.login.Configuration config;
descriptor: Ljavax/security/auth/login/Configuration;
flags: (0x0002) ACC_PRIVATE
private java.security.AccessControlContext creatorAcc;
descriptor: Ljava/security/AccessControlContext;
flags: (0x0002) ACC_PRIVATE
private javax.security.auth.login.LoginContext$ModuleInfo[] moduleStack;
descriptor: [Ljavax/security/auth/login/LoginContext$ModuleInfo;
flags: (0x0002) ACC_PRIVATE
private java.lang.ClassLoader contextClassLoader;
descriptor: Ljava/lang/ClassLoader;
flags: (0x0002) ACC_PRIVATE
private static final java.lang.Class<?>[] PARAMS;
descriptor: [Ljava/lang/Class;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: [Ljava/lang/Class<*>;
private int moduleIndex;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private javax.security.auth.login.LoginException firstError;
descriptor: Ljavax/security/auth/login/LoginException;
flags: (0x0002) ACC_PRIVATE
private javax.security.auth.login.LoginException firstRequiredError;
descriptor: Ljavax/security/auth/login/LoginException;
flags: (0x0002) ACC_PRIVATE
private boolean success;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private static final sun.security.util.Debug debug;
descriptor: Lsun/security/util/Debug;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: iconst_0
anewarray java.lang.Class
putstatic javax.security.auth.login.LoginContext.PARAMS:[Ljava/lang/Class;
1: ldc "logincontext"
ldc "\t[LoginContext]"
invokestatic sun.security.util.Debug.getInstance:(Ljava/lang/String;Ljava/lang/String;)Lsun/security/util/Debug;
2: putstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
3: return
LocalVariableTable:
Start End Slot Name Signature
private void init(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=10, locals=6, args_size=2
start local 0 start local 1 0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
astore 2
start local 2 1: aload 2
ifnull 5
aload 0
getfield javax.security.auth.login.LoginContext.creatorAcc:Ljava/security/AccessControlContext;
ifnonnull 5
2: aload 2
new javax.security.auth.AuthPermission
dup
3: new java.lang.StringBuilder
dup
ldc "createLoginContext."
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;
invokespecial javax.security.auth.AuthPermission.<init>:(Ljava/lang/String;)V
4: invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
5: StackMap locals: java.lang.SecurityManager
StackMap stack:
aload 1
ifnonnull 9
6: new javax.security.auth.login.LoginException
dup
7: ldc "Invalid.null.input.name"
invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
8: invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
aload 0
getfield javax.security.auth.login.LoginContext.config:Ljavax/security/auth/login/Configuration;
ifnonnull 13
10: aload 0
11: new javax.security.auth.login.LoginContext$1
dup
aload 0
invokespecial javax.security.auth.login.LoginContext$1.<init>:(Ljavax/security/auth/login/LoginContext;)V
12: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast javax.security.auth.login.Configuration
putfield javax.security.auth.login.LoginContext.config:Ljavax/security/auth/login/Configuration;
13: StackMap locals:
StackMap stack:
aload 0
getfield javax.security.auth.login.LoginContext.config:Ljavax/security/auth/login/Configuration;
aload 1
invokevirtual javax.security.auth.login.Configuration.getAppConfigurationEntry:(Ljava/lang/String;)[Ljavax/security/auth/login/AppConfigurationEntry;
astore 3
start local 3 14: aload 3
ifnonnull 26
15: aload 2
ifnull 19
aload 0
getfield javax.security.auth.login.LoginContext.creatorAcc:Ljava/security/AccessControlContext;
ifnonnull 19
16: aload 2
new javax.security.auth.AuthPermission
dup
17: ldc "createLoginContext.other"
invokespecial javax.security.auth.AuthPermission.<init>:(Ljava/lang/String;)V
18: invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
19: StackMap locals: javax.security.auth.login.AppConfigurationEntry[]
StackMap stack:
aload 0
getfield javax.security.auth.login.LoginContext.config:Ljavax/security/auth/login/Configuration;
ldc "other"
invokevirtual javax.security.auth.login.Configuration.getAppConfigurationEntry:(Ljava/lang/String;)[Ljavax/security/auth/login/AppConfigurationEntry;
astore 3
20: aload 3
ifnonnull 26
21: new java.text.MessageFormat
dup
22: ldc "No.LoginModules.configured.for.name"
23: invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 4
start local 4 24: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
astore 5
start local 5 25: new javax.security.auth.login.LoginException
dup
aload 4
aload 5
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
athrow
end local 5 end local 4 26: StackMap locals:
StackMap stack:
aload 0
aload 3
arraylength
anewarray javax.security.auth.login.LoginContext$ModuleInfo
putfield javax.security.auth.login.LoginContext.moduleStack:[Ljavax/security/auth/login/LoginContext$ModuleInfo;
27: iconst_0
istore 4
start local 4 28: goto 38
29: StackMap locals: int
StackMap stack:
aload 0
getfield javax.security.auth.login.LoginContext.moduleStack:[Ljavax/security/auth/login/LoginContext$ModuleInfo;
iload 4
new javax.security.auth.login.LoginContext$ModuleInfo
dup
30: new javax.security.auth.login.AppConfigurationEntry
dup
31: aload 3
iload 4
aaload
invokevirtual javax.security.auth.login.AppConfigurationEntry.getLoginModuleName:()Ljava/lang/String;
32: aload 3
iload 4
aaload
invokevirtual javax.security.auth.login.AppConfigurationEntry.getControlFlag:()Ljavax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag;
33: aload 3
iload 4
aaload
invokevirtual javax.security.auth.login.AppConfigurationEntry.getOptions:()Ljava/util/Map;
34: invokespecial javax.security.auth.login.AppConfigurationEntry.<init>:(Ljava/lang/String;Ljavax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag;Ljava/util/Map;)V
35: aconst_null
invokespecial javax.security.auth.login.LoginContext$ModuleInfo.<init>:(Ljavax/security/auth/login/AppConfigurationEntry;Ljava/lang/Object;)V
36: aastore
37: iinc 4 1
StackMap locals:
StackMap stack:
38: iload 4
aload 3
arraylength
if_icmplt 29
end local 4 39: aload 0
40: new javax.security.auth.login.LoginContext$2
dup
aload 0
invokespecial javax.security.auth.login.LoginContext$2.<init>:(Ljavax/security/auth/login/LoginContext;)V
41: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.ClassLoader
putfield javax.security.auth.login.LoginContext.contextClassLoader:Ljava/lang/ClassLoader;
42: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 43 0 this Ljavax/security/auth/login/LoginContext;
0 43 1 name Ljava/lang/String;
1 43 2 sm Ljava/lang/SecurityManager;
14 43 3 entries [Ljavax/security/auth/login/AppConfigurationEntry;
24 26 4 form Ljava/text/MessageFormat;
25 26 5 source [Ljava/lang/Object;
28 39 4 i I
Exceptions:
throws javax.security.auth.login.LoginException
MethodParameters:
Name Flags
name
private void loadDefaultCallbackHandler();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
getfield javax.security.auth.login.LoginContext.contextClassLoader:Ljava/lang/ClassLoader;
astore 1
start local 1 1: aload 0
2: new javax.security.auth.login.LoginContext$3
dup
aload 0
aload 1
invokespecial javax.security.auth.login.LoginContext$3.<init>:(Ljavax/security/auth/login/LoginContext;Ljava/lang/ClassLoader;)V
3: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
checkcast javax.security.auth.callback.CallbackHandler
putfield javax.security.auth.login.LoginContext.callbackHandler:Ljavax/security/auth/callback/CallbackHandler;
end local 1 4: goto 7
StackMap locals:
StackMap stack: java.security.PrivilegedActionException
5: astore 1
start local 1 6: new javax.security.auth.login.LoginException
dup
aload 1
invokevirtual java.security.PrivilegedActionException.getException:()Ljava/lang/Exception;
invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
athrow
end local 1 7: StackMap locals:
StackMap stack:
aload 0
getfield javax.security.auth.login.LoginContext.callbackHandler:Ljavax/security/auth/callback/CallbackHandler;
ifnull 12
aload 0
getfield javax.security.auth.login.LoginContext.creatorAcc:Ljava/security/AccessControlContext;
ifnonnull 12
8: aload 0
new javax.security.auth.login.LoginContext$SecureCallbackHandler
dup
9: invokestatic java.security.AccessController.getContext:()Ljava/security/AccessControlContext;
10: aload 0
getfield javax.security.auth.login.LoginContext.callbackHandler:Ljavax/security/auth/callback/CallbackHandler;
invokespecial javax.security.auth.login.LoginContext$SecureCallbackHandler.<init>:(Ljava/security/AccessControlContext;Ljavax/security/auth/callback/CallbackHandler;)V
11: putfield javax.security.auth.login.LoginContext.callbackHandler:Ljavax/security/auth/callback/CallbackHandler;
12: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljavax/security/auth/login/LoginContext;
1 4 1 finalLoader Ljava/lang/ClassLoader;
6 7 1 pae Ljava/security/PrivilegedActionException;
Exception table:
from to target type
0 4 5 Class java.security.PrivilegedActionException
Exceptions:
throws javax.security.auth.login.LoginException
public void <init>(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aconst_null
putfield javax.security.auth.login.LoginContext.subject:Ljavax/security/auth/Subject;
2: aload 0
iconst_0
putfield javax.security.auth.login.LoginContext.subjectProvided:Z
3: aload 0
iconst_0
putfield javax.security.auth.login.LoginContext.loginSucceeded:Z
4: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield javax.security.auth.login.LoginContext.state:Ljava/util/Map;
5: aload 0
aconst_null
putfield javax.security.auth.login.LoginContext.creatorAcc:Ljava/security/AccessControlContext;
6: aload 0
aconst_null
putfield javax.security.auth.login.LoginContext.contextClassLoader:Ljava/lang/ClassLoader;
7: aload 0
iconst_0
putfield javax.security.auth.login.LoginContext.moduleIndex:I
8: aload 0
aconst_null
putfield javax.security.auth.login.LoginContext.firstError:Ljavax/security/auth/login/LoginException;
9: aload 0
aconst_null
putfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
10: aload 0
iconst_0
putfield javax.security.auth.login.LoginContext.success:Z
11: aload 0
aload 1
invokevirtual javax.security.auth.login.LoginContext.init:(Ljava/lang/String;)V
12: aload 0
invokevirtual javax.security.auth.login.LoginContext.loadDefaultCallbackHandler:()V
13: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljavax/security/auth/login/LoginContext;
0 14 1 name Ljava/lang/String;
Exceptions:
throws javax.security.auth.login.LoginException
MethodParameters:
Name Flags
name
public void <init>(java.lang.String, javax.security.auth.Subject);
descriptor: (Ljava/lang/String;Ljavax/security/auth/Subject;)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
invokespecial java.lang.Object.<init>:()V
1: aload 0
aconst_null
putfield javax.security.auth.login.LoginContext.subject:Ljavax/security/auth/Subject;
2: aload 0
iconst_0
putfield javax.security.auth.login.LoginContext.subjectProvided:Z
3: aload 0
iconst_0
putfield javax.security.auth.login.LoginContext.loginSucceeded:Z
4: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield javax.security.auth.login.LoginContext.state:Ljava/util/Map;
5: aload 0
aconst_null
putfield javax.security.auth.login.LoginContext.creatorAcc:Ljava/security/AccessControlContext;
6: aload 0
aconst_null
putfield javax.security.auth.login.LoginContext.contextClassLoader:Ljava/lang/ClassLoader;
7: aload 0
iconst_0
putfield javax.security.auth.login.LoginContext.moduleIndex:I
8: aload 0
aconst_null
putfield javax.security.auth.login.LoginContext.firstError:Ljavax/security/auth/login/LoginException;
9: aload 0
aconst_null
putfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
10: aload 0
iconst_0
putfield javax.security.auth.login.LoginContext.success:Z
11: aload 0
aload 1
invokevirtual javax.security.auth.login.LoginContext.init:(Ljava/lang/String;)V
12: aload 2
ifnonnull 16
13: new javax.security.auth.login.LoginException
dup
14: ldc "invalid.null.Subject.provided"
invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
15: invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
athrow
16: StackMap locals: javax.security.auth.login.LoginContext java.lang.String javax.security.auth.Subject
StackMap stack:
aload 0
aload 2
putfield javax.security.auth.login.LoginContext.subject:Ljavax/security/auth/Subject;
17: aload 0
iconst_1
putfield javax.security.auth.login.LoginContext.subjectProvided:Z
18: aload 0
invokevirtual javax.security.auth.login.LoginContext.loadDefaultCallbackHandler:()V
19: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Ljavax/security/auth/login/LoginContext;
0 20 1 name Ljava/lang/String;
0 20 2 subject Ljavax/security/auth/Subject;
Exceptions:
throws javax.security.auth.login.LoginException
MethodParameters:
Name Flags
name
subject
public void <init>(java.lang.String, javax.security.auth.callback.CallbackHandler);
descriptor: (Ljava/lang/String;Ljavax/security/auth/callback/CallbackHandler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, 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
aconst_null
putfield javax.security.auth.login.LoginContext.subject:Ljavax/security/auth/Subject;
2: aload 0
iconst_0
putfield javax.security.auth.login.LoginContext.subjectProvided:Z
3: aload 0
iconst_0
putfield javax.security.auth.login.LoginContext.loginSucceeded:Z
4: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield javax.security.auth.login.LoginContext.state:Ljava/util/Map;
5: aload 0
aconst_null
putfield javax.security.auth.login.LoginContext.creatorAcc:Ljava/security/AccessControlContext;
6: aload 0
aconst_null
putfield javax.security.auth.login.LoginContext.contextClassLoader:Ljava/lang/ClassLoader;
7: aload 0
iconst_0
putfield javax.security.auth.login.LoginContext.moduleIndex:I
8: aload 0
aconst_null
putfield javax.security.auth.login.LoginContext.firstError:Ljavax/security/auth/login/LoginException;
9: aload 0
aconst_null
putfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
10: aload 0
iconst_0
putfield javax.security.auth.login.LoginContext.success:Z
11: aload 0
aload 1
invokevirtual javax.security.auth.login.LoginContext.init:(Ljava/lang/String;)V
12: aload 2
ifnonnull 16
13: new javax.security.auth.login.LoginException
dup
14: ldc "invalid.null.CallbackHandler.provided"
15: invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
athrow
16: StackMap locals: javax.security.auth.login.LoginContext java.lang.String javax.security.auth.callback.CallbackHandler
StackMap stack:
aload 0
new javax.security.auth.login.LoginContext$SecureCallbackHandler
dup
17: invokestatic java.security.AccessController.getContext:()Ljava/security/AccessControlContext;
18: aload 2
invokespecial javax.security.auth.login.LoginContext$SecureCallbackHandler.<init>:(Ljava/security/AccessControlContext;Ljavax/security/auth/callback/CallbackHandler;)V
19: putfield javax.security.auth.login.LoginContext.callbackHandler:Ljavax/security/auth/callback/CallbackHandler;
20: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Ljavax/security/auth/login/LoginContext;
0 21 1 name Ljava/lang/String;
0 21 2 callbackHandler Ljavax/security/auth/callback/CallbackHandler;
Exceptions:
throws javax.security.auth.login.LoginException
MethodParameters:
Name Flags
name
callbackHandler
public void <init>(java.lang.String, javax.security.auth.Subject, javax.security.auth.callback.CallbackHandler);
descriptor: (Ljava/lang/String;Ljavax/security/auth/Subject;Ljavax/security/auth/callback/CallbackHandler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
invokespecial javax.security.auth.login.LoginContext.<init>:(Ljava/lang/String;Ljavax/security/auth/Subject;)V
1: aload 3
ifnonnull 5
2: new javax.security.auth.login.LoginException
dup
3: ldc "invalid.null.CallbackHandler.provided"
4: invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: javax.security.auth.login.LoginContext java.lang.String javax.security.auth.Subject javax.security.auth.callback.CallbackHandler
StackMap stack:
aload 0
new javax.security.auth.login.LoginContext$SecureCallbackHandler
dup
6: invokestatic java.security.AccessController.getContext:()Ljava/security/AccessControlContext;
7: aload 3
invokespecial javax.security.auth.login.LoginContext$SecureCallbackHandler.<init>:(Ljava/security/AccessControlContext;Ljavax/security/auth/callback/CallbackHandler;)V
8: putfield javax.security.auth.login.LoginContext.callbackHandler:Ljavax/security/auth/callback/CallbackHandler;
9: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljavax/security/auth/login/LoginContext;
0 10 1 name Ljava/lang/String;
0 10 2 subject Ljavax/security/auth/Subject;
0 10 3 callbackHandler Ljavax/security/auth/callback/CallbackHandler;
Exceptions:
throws javax.security.auth.login.LoginException
MethodParameters:
Name Flags
name
subject
callbackHandler
public void <init>(java.lang.String, javax.security.auth.Subject, javax.security.auth.callback.CallbackHandler, javax.security.auth.login.Configuration);
descriptor: (Ljava/lang/String;Ljavax/security/auth/Subject;Ljavax/security/auth/callback/CallbackHandler;Ljavax/security/auth/login/Configuration;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aconst_null
putfield javax.security.auth.login.LoginContext.subject:Ljavax/security/auth/Subject;
2: aload 0
iconst_0
putfield javax.security.auth.login.LoginContext.subjectProvided:Z
3: aload 0
iconst_0
putfield javax.security.auth.login.LoginContext.loginSucceeded:Z
4: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield javax.security.auth.login.LoginContext.state:Ljava/util/Map;
5: aload 0
aconst_null
putfield javax.security.auth.login.LoginContext.creatorAcc:Ljava/security/AccessControlContext;
6: aload 0
aconst_null
putfield javax.security.auth.login.LoginContext.contextClassLoader:Ljava/lang/ClassLoader;
7: aload 0
iconst_0
putfield javax.security.auth.login.LoginContext.moduleIndex:I
8: aload 0
aconst_null
putfield javax.security.auth.login.LoginContext.firstError:Ljavax/security/auth/login/LoginException;
9: aload 0
aconst_null
putfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
10: aload 0
iconst_0
putfield javax.security.auth.login.LoginContext.success:Z
11: aload 0
aload 4
putfield javax.security.auth.login.LoginContext.config:Ljavax/security/auth/login/Configuration;
12: aload 4
ifnull 14
13: aload 0
invokestatic java.security.AccessController.getContext:()Ljava/security/AccessControlContext;
putfield javax.security.auth.login.LoginContext.creatorAcc:Ljava/security/AccessControlContext;
14: StackMap locals: javax.security.auth.login.LoginContext java.lang.String javax.security.auth.Subject javax.security.auth.callback.CallbackHandler javax.security.auth.login.Configuration
StackMap stack:
aload 0
aload 1
invokevirtual javax.security.auth.login.LoginContext.init:(Ljava/lang/String;)V
15: aload 2
ifnull 18
16: aload 0
aload 2
putfield javax.security.auth.login.LoginContext.subject:Ljavax/security/auth/Subject;
17: aload 0
iconst_1
putfield javax.security.auth.login.LoginContext.subjectProvided:Z
18: StackMap locals:
StackMap stack:
aload 3
ifnonnull 21
19: aload 0
invokevirtual javax.security.auth.login.LoginContext.loadDefaultCallbackHandler:()V
20: goto 28
StackMap locals:
StackMap stack:
21: aload 0
getfield javax.security.auth.login.LoginContext.creatorAcc:Ljava/security/AccessControlContext;
ifnonnull 27
22: aload 0
new javax.security.auth.login.LoginContext$SecureCallbackHandler
dup
23: invokestatic java.security.AccessController.getContext:()Ljava/security/AccessControlContext;
24: aload 3
invokespecial javax.security.auth.login.LoginContext$SecureCallbackHandler.<init>:(Ljava/security/AccessControlContext;Ljavax/security/auth/callback/CallbackHandler;)V
25: putfield javax.security.auth.login.LoginContext.callbackHandler:Ljavax/security/auth/callback/CallbackHandler;
26: goto 28
27: StackMap locals:
StackMap stack:
aload 0
aload 3
putfield javax.security.auth.login.LoginContext.callbackHandler:Ljavax/security/auth/callback/CallbackHandler;
28: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Ljavax/security/auth/login/LoginContext;
0 29 1 name Ljava/lang/String;
0 29 2 subject Ljavax/security/auth/Subject;
0 29 3 callbackHandler Ljavax/security/auth/callback/CallbackHandler;
0 29 4 config Ljavax/security/auth/login/Configuration;
Exceptions:
throws javax.security.auth.login.LoginException
MethodParameters:
Name Flags
name
subject
callbackHandler
config
public void login();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
iconst_0
putfield javax.security.auth.login.LoginContext.loginSucceeded:Z
1: aload 0
getfield javax.security.auth.login.LoginContext.subject:Ljavax/security/auth/Subject;
ifnonnull 3
2: aload 0
new javax.security.auth.Subject
dup
invokespecial javax.security.auth.Subject.<init>:()V
putfield javax.security.auth.login.LoginContext.subject:Ljavax/security/auth/Subject;
3: StackMap locals:
StackMap stack:
aload 0
ldc "login"
invokevirtual javax.security.auth.login.LoginContext.invokePriv:(Ljava/lang/String;)V
4: aload 0
ldc "commit"
invokevirtual javax.security.auth.login.LoginContext.invokePriv:(Ljava/lang/String;)V
5: aload 0
iconst_1
putfield javax.security.auth.login.LoginContext.loginSucceeded:Z
6: goto 13
StackMap locals:
StackMap stack: javax.security.auth.login.LoginException
7: astore 1
start local 1 8: aload 0
ldc "abort"
invokevirtual javax.security.auth.login.LoginContext.invokePriv:(Ljava/lang/String;)V
9: goto 12
StackMap locals: javax.security.auth.login.LoginContext javax.security.auth.login.LoginException
StackMap stack: javax.security.auth.login.LoginException
10: pop
11: aload 1
athrow
12: StackMap locals:
StackMap stack:
aload 1
athrow
end local 1 13: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljavax/security/auth/login/LoginContext;
8 13 1 le Ljavax/security/auth/login/LoginException;
Exception table:
from to target type
3 6 7 Class javax.security.auth.login.LoginException
8 9 10 Class javax.security.auth.login.LoginException
Exceptions:
throws javax.security.auth.login.LoginException
public void logout();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield javax.security.auth.login.LoginContext.subject:Ljavax/security/auth/Subject;
ifnonnull 4
1: new javax.security.auth.login.LoginException
dup
2: ldc "null.subject.logout.called.before.login"
3: invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
ldc "logout"
invokevirtual javax.security.auth.login.LoginContext.invokePriv:(Ljava/lang/String;)V
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljavax/security/auth/login/LoginContext;
Exceptions:
throws javax.security.auth.login.LoginException
public javax.security.auth.Subject getSubject();
descriptor: ()Ljavax/security/auth/Subject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield javax.security.auth.login.LoginContext.loginSucceeded:Z
ifne 2
aload 0
getfield javax.security.auth.login.LoginContext.subjectProvided:Z
ifne 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield javax.security.auth.login.LoginContext.subject:Ljavax/security/auth/Subject;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljavax/security/auth/login/LoginContext;
private void clearState();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
putfield javax.security.auth.login.LoginContext.moduleIndex:I
1: aload 0
aconst_null
putfield javax.security.auth.login.LoginContext.firstError:Ljavax/security/auth/login/LoginException;
2: aload 0
aconst_null
putfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
3: aload 0
iconst_0
putfield javax.security.auth.login.LoginContext.success:Z
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljavax/security/auth/login/LoginContext;
private void throwException(javax.security.auth.login.LoginException, javax.security.auth.login.LoginException);
descriptor: (Ljavax/security/auth/login/LoginException;Ljavax/security/auth/login/LoginException;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual javax.security.auth.login.LoginContext.clearState:()V
1: aload 1
ifnull 2
aload 1
goto 3
StackMap locals:
StackMap stack:
2: aload 2
StackMap locals:
StackMap stack: javax.security.auth.login.LoginException
3: astore 3
start local 3 4: aload 3
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljavax/security/auth/login/LoginContext;
0 5 1 originalError Ljavax/security/auth/login/LoginException;
0 5 2 le Ljavax/security/auth/login/LoginException;
4 5 3 error Ljavax/security/auth/login/LoginException;
Exceptions:
throws javax.security.auth.login.LoginException
MethodParameters:
Name Flags
originalError
le
private void invokePriv(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: new javax.security.auth.login.LoginContext$4
dup
aload 0
aload 1
invokespecial javax.security.auth.login.LoginContext$4.<init>:(Ljavax/security/auth/login/LoginContext;Ljava/lang/String;)V
1: aload 0
getfield javax.security.auth.login.LoginContext.creatorAcc:Ljava/security/AccessControlContext;
2: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;
pop
3: goto 6
StackMap locals:
StackMap stack: java.security.PrivilegedActionException
4: astore 2
start local 2 5: aload 2
invokevirtual java.security.PrivilegedActionException.getException:()Ljava/lang/Exception;
checkcast javax.security.auth.login.LoginException
athrow
end local 2 6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljavax/security/auth/login/LoginContext;
0 7 1 methodName Ljava/lang/String;
5 6 2 pae Ljava/security/PrivilegedActionException;
Exception table:
from to target type
0 3 4 Class java.security.PrivilegedActionException
Exceptions:
throws javax.security.auth.login.LoginException
MethodParameters:
Name Flags
methodName final
private void invoke(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=9, args_size=2
start local 0 start local 1 0: aload 0
getfield javax.security.auth.login.LoginContext.moduleIndex:I
istore 2
start local 2 1: goto 131
2: StackMap locals: int
StackMap stack:
iconst_0
istore 3
start local 3 3: aconst_null
astore 4
start local 4 4: aload 0
getfield javax.security.auth.login.LoginContext.moduleStack:[Ljavax/security/auth/login/LoginContext$ModuleInfo;
iload 2
aaload
getfield javax.security.auth.login.LoginContext$ModuleInfo.module:Ljava/lang/Object;
ifnull 7
5: aload 0
getfield javax.security.auth.login.LoginContext.moduleStack:[Ljavax/security/auth/login/LoginContext$ModuleInfo;
iload 2
aaload
getfield javax.security.auth.login.LoginContext$ModuleInfo.module:Ljava/lang/Object;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getMethods:()[Ljava/lang/reflect/Method;
astore 4
6: goto 26
7: StackMap locals: int java.lang.reflect.Method[]
StackMap stack:
aload 0
getfield javax.security.auth.login.LoginContext.moduleStack:[Ljavax/security/auth/login/LoginContext$ModuleInfo;
iload 2
aaload
getfield javax.security.auth.login.LoginContext$ModuleInfo.entry:Ljavax/security/auth/login/AppConfigurationEntry;
invokevirtual javax.security.auth.login.AppConfigurationEntry.getLoginModuleName:()Ljava/lang/String;
8: iconst_1
9: aload 0
getfield javax.security.auth.login.LoginContext.contextClassLoader:Ljava/lang/ClassLoader;
10: invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
astore 5
start local 5 11: aload 5
getstatic javax.security.auth.login.LoginContext.PARAMS:[Ljava/lang/Class;
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
astore 6
start local 6 12: iconst_0
anewarray java.lang.Object
astore 7
start local 7 13: aload 0
getfield javax.security.auth.login.LoginContext.moduleStack:[Ljavax/security/auth/login/LoginContext$ModuleInfo;
iload 2
aaload
aload 6
aload 7
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
putfield javax.security.auth.login.LoginContext$ModuleInfo.module:Ljava/lang/Object;
14: aload 0
getfield javax.security.auth.login.LoginContext.moduleStack:[Ljavax/security/auth/login/LoginContext$ModuleInfo;
iload 2
aaload
getfield javax.security.auth.login.LoginContext$ModuleInfo.module:Ljava/lang/Object;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getMethods:()[Ljava/lang/reflect/Method;
astore 4
15: iconst_0
istore 3
goto 19
16: StackMap locals: java.lang.Class java.lang.reflect.Constructor java.lang.Object[]
StackMap stack:
aload 4
iload 3
aaload
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
ldc "initialize"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 18
17: goto 20
18: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
19: iload 3
aload 4
arraylength
if_icmplt 16
20: StackMap locals:
StackMap stack:
iconst_4
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield javax.security.auth.login.LoginContext.subject:Ljavax/security/auth/Subject;
aastore
dup
iconst_1
21: aload 0
getfield javax.security.auth.login.LoginContext.callbackHandler:Ljavax/security/auth/callback/CallbackHandler;
aastore
dup
iconst_2
22: aload 0
getfield javax.security.auth.login.LoginContext.state:Ljava/util/Map;
aastore
dup
iconst_3
23: aload 0
getfield javax.security.auth.login.LoginContext.moduleStack:[Ljavax/security/auth/login/LoginContext$ModuleInfo;
iload 2
aaload
getfield javax.security.auth.login.LoginContext$ModuleInfo.entry:Ljavax/security/auth/login/AppConfigurationEntry;
invokevirtual javax.security.auth.login.AppConfigurationEntry.getOptions:()Ljava/util/Map;
aastore
24: astore 8
start local 8 25: aload 4
iload 3
aaload
aload 0
getfield javax.security.auth.login.LoginContext.moduleStack:[Ljavax/security/auth/login/LoginContext$ModuleInfo;
iload 2
aaload
getfield javax.security.auth.login.LoginContext$ModuleInfo.module:Ljava/lang/Object;
aload 8
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 8 end local 7 end local 6 end local 5 26: StackMap locals:
StackMap stack:
iconst_0
istore 3
goto 30
27: StackMap locals:
StackMap stack:
aload 4
iload 3
aaload
invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 29
28: goto 31
29: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
30: iload 3
aload 4
arraylength
if_icmplt 27
31: StackMap locals:
StackMap stack:
iconst_0
anewarray java.lang.Object
astore 5
start local 5 32: aload 4
iload 3
aaload
33: aload 0
getfield javax.security.auth.login.LoginContext.moduleStack:[Ljavax/security/auth/login/LoginContext$ModuleInfo;
iload 2
aaload
getfield javax.security.auth.login.LoginContext$ModuleInfo.module:Ljava/lang/Object;
aload 5
34: invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Boolean
35: invokevirtual java.lang.Boolean.booleanValue:()Z
36: istore 6
start local 6 37: iload 6
ifeq 52
38: aload 1
ldc "abort"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 48
39: aload 1
ldc "logout"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 48
40: aload 0
getfield javax.security.auth.login.LoginContext.moduleStack:[Ljavax/security/auth/login/LoginContext$ModuleInfo;
iload 2
aaload
getfield javax.security.auth.login.LoginContext$ModuleInfo.entry:Ljavax/security/auth/login/AppConfigurationEntry;
invokevirtual javax.security.auth.login.AppConfigurationEntry.getControlFlag:()Ljavax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag;
41: getstatic javax.security.auth.login.AppConfigurationEntry$LoginModuleControlFlag.SUFFICIENT:Ljavax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag;
42: if_acmpne 48
43: aload 0
getfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
ifnonnull 48
44: aload 0
invokevirtual javax.security.auth.login.LoginContext.clearState:()V
45: getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
ifnull 47
46: getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " SUFFICIENT success"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
47: StackMap locals: java.lang.Object[] int
StackMap stack:
return
48: StackMap locals:
StackMap stack:
getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
ifnull 50
49: getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " success"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
50: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield javax.security.auth.login.LoginContext.success:Z
51: goto 130
52: StackMap locals:
StackMap stack:
getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
ifnull 130
53: getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " ignored"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
end local 6 end local 5 end local 4 end local 3 54: goto 130
StackMap locals: javax.security.auth.login.LoginContext java.lang.String int
StackMap stack: java.lang.NoSuchMethodException
55: pop
56: new java.text.MessageFormat
dup
57: ldc "unable.to.instantiate.LoginModule.module.because.it.does.not.provide.a.no.argument.constructor"
58: invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
astore 3
start local 3 59: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield javax.security.auth.login.LoginContext.moduleStack:[Ljavax/security/auth/login/LoginContext$ModuleInfo;
iload 2
aaload
getfield javax.security.auth.login.LoginContext$ModuleInfo.entry:Ljavax/security/auth/login/AppConfigurationEntry;
invokevirtual javax.security.auth.login.AppConfigurationEntry.getLoginModuleName:()Ljava/lang/String;
aastore
astore 4
start local 4 60: aload 0
aconst_null
new javax.security.auth.login.LoginException
dup
aload 3
aload 4
invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
invokevirtual javax.security.auth.login.LoginContext.throwException:(Ljavax/security/auth/login/LoginException;Ljavax/security/auth/login/LoginException;)V
end local 4 end local 3 61: goto 130
62: StackMap locals:
StackMap stack: java.lang.InstantiationException
astore 3
start local 3 63: aload 0
aconst_null
new javax.security.auth.login.LoginException
dup
new java.lang.StringBuilder
dup
64: ldc "unable.to.instantiate.LoginModule."
65: invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
66: aload 3
invokevirtual java.lang.InstantiationException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
67: invokevirtual javax.security.auth.login.LoginContext.throwException:(Ljavax/security/auth/login/LoginException;Ljavax/security/auth/login/LoginException;)V
end local 3 68: goto 130
69: StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
astore 3
start local 3 70: aload 0
aconst_null
new javax.security.auth.login.LoginException
dup
new java.lang.StringBuilder
dup
71: ldc "unable.to.find.LoginModule.class."
72: invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
73: aload 3
invokevirtual java.lang.ClassNotFoundException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
74: invokevirtual javax.security.auth.login.LoginContext.throwException:(Ljavax/security/auth/login/LoginException;Ljavax/security/auth/login/LoginException;)V
end local 3 75: goto 130
76: StackMap locals:
StackMap stack: java.lang.IllegalAccessException
astore 3
start local 3 77: aload 0
aconst_null
new javax.security.auth.login.LoginException
dup
new java.lang.StringBuilder
dup
78: ldc "unable.to.access.LoginModule."
79: invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
80: aload 3
invokevirtual java.lang.IllegalAccessException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
81: invokevirtual javax.security.auth.login.LoginContext.throwException:(Ljavax/security/auth/login/LoginException;Ljavax/security/auth/login/LoginException;)V
end local 3 82: goto 130
83: StackMap locals:
StackMap stack: java.lang.reflect.InvocationTargetException
astore 3
start local 3 84: aload 3
invokevirtual java.lang.reflect.InvocationTargetException.getCause:()Ljava/lang/Throwable;
instanceof sun.security.util.PendingException
ifeq 87
85: aload 1
ldc "login"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 87
86: aload 3
invokevirtual java.lang.reflect.InvocationTargetException.getCause:()Ljava/lang/Throwable;
checkcast sun.security.util.PendingException
athrow
87: StackMap locals: java.lang.reflect.InvocationTargetException
StackMap stack:
aload 3
invokevirtual java.lang.reflect.InvocationTargetException.getCause:()Ljava/lang/Throwable;
instanceof javax.security.auth.login.LoginException
ifeq 90
88: aload 3
invokevirtual java.lang.reflect.InvocationTargetException.getCause:()Ljava/lang/Throwable;
checkcast javax.security.auth.login.LoginException
astore 4
start local 4 89: goto 107
end local 4 StackMap locals:
StackMap stack:
90: aload 3
invokevirtual java.lang.reflect.InvocationTargetException.getCause:()Ljava/lang/Throwable;
instanceof java.lang.SecurityException
ifeq 101
91: new javax.security.auth.login.LoginException
dup
ldc "Security Exception"
invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
astore 4
start local 4 92: aload 4
new java.lang.SecurityException
dup
invokespecial java.lang.SecurityException.<init>:()V
invokevirtual javax.security.auth.login.LoginException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
93: getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
ifnull 107
94: getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
95: ldc "original security exception with detail msg replaced by new exception with empty detail msg"
96: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
97: getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "original security exception: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
98: aload 3
invokevirtual java.lang.reflect.InvocationTargetException.getCause:()Ljava/lang/Throwable;
invokevirtual java.lang.Throwable.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
99: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
100: goto 107
end local 4 101: StackMap locals:
StackMap stack:
new java.io.StringWriter
dup
invokespecial java.io.StringWriter.<init>:()V
astore 5
start local 5 102: aload 3
invokevirtual java.lang.reflect.InvocationTargetException.getCause:()Ljava/lang/Throwable;
103: new java.io.PrintWriter
dup
aload 5
invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;)V
104: invokevirtual java.lang.Throwable.printStackTrace:(Ljava/io/PrintWriter;)V
105: aload 5
invokevirtual java.io.StringWriter.flush:()V
106: new javax.security.auth.login.LoginException
dup
aload 5
invokevirtual java.io.StringWriter.toString:()Ljava/lang/String;
invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
astore 4
end local 5 start local 4 107: StackMap locals: javax.security.auth.login.LoginException
StackMap stack:
aload 0
getfield javax.security.auth.login.LoginContext.moduleStack:[Ljavax/security/auth/login/LoginContext$ModuleInfo;
iload 2
aaload
getfield javax.security.auth.login.LoginContext$ModuleInfo.entry:Ljavax/security/auth/login/AppConfigurationEntry;
invokevirtual javax.security.auth.login.AppConfigurationEntry.getControlFlag:()Ljavax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag;
108: getstatic javax.security.auth.login.AppConfigurationEntry$LoginModuleControlFlag.REQUISITE:Ljavax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag;
109: if_acmpne 119
110: getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
ifnull 112
111: getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " REQUISITE failure"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
112: StackMap locals:
StackMap stack:
aload 1
ldc "abort"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 114
113: aload 1
ldc "logout"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 117
114: StackMap locals:
StackMap stack:
aload 0
getfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
ifnonnull 130
115: aload 0
aload 4
putfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
116: goto 130
117: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
aload 4
invokevirtual javax.security.auth.login.LoginContext.throwException:(Ljavax/security/auth/login/LoginException;Ljavax/security/auth/login/LoginException;)V
118: goto 130
StackMap locals:
StackMap stack:
119: aload 0
getfield javax.security.auth.login.LoginContext.moduleStack:[Ljavax/security/auth/login/LoginContext$ModuleInfo;
iload 2
aaload
getfield javax.security.auth.login.LoginContext$ModuleInfo.entry:Ljavax/security/auth/login/AppConfigurationEntry;
invokevirtual javax.security.auth.login.AppConfigurationEntry.getControlFlag:()Ljavax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag;
120: getstatic javax.security.auth.login.AppConfigurationEntry$LoginModuleControlFlag.REQUIRED:Ljavax/security/auth/login/AppConfigurationEntry$LoginModuleControlFlag;
if_acmpne 126
121: getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
ifnull 123
122: getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " REQUIRED failure"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
123: StackMap locals:
StackMap stack:
aload 0
getfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
ifnonnull 130
124: aload 0
aload 4
putfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
125: goto 130
126: StackMap locals:
StackMap stack:
getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
ifnull 128
127: getstatic javax.security.auth.login.LoginContext.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " OPTIONAL failure"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
128: StackMap locals:
StackMap stack:
aload 0
getfield javax.security.auth.login.LoginContext.firstError:Ljavax/security/auth/login/LoginException;
ifnonnull 130
129: aload 0
aload 4
putfield javax.security.auth.login.LoginContext.firstError:Ljavax/security/auth/login/LoginException;
end local 4 end local 3 130: StackMap locals:
StackMap stack:
iinc 2 1
aload 0
dup
getfield javax.security.auth.login.LoginContext.moduleIndex:I
iconst_1
iadd
putfield javax.security.auth.login.LoginContext.moduleIndex:I
StackMap locals:
StackMap stack:
131: iload 2
aload 0
getfield javax.security.auth.login.LoginContext.moduleStack:[Ljavax/security/auth/login/LoginContext$ModuleInfo;
arraylength
if_icmplt 2
end local 2 132: aload 0
getfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
ifnull 135
133: aload 0
aload 0
getfield javax.security.auth.login.LoginContext.firstRequiredError:Ljavax/security/auth/login/LoginException;
aconst_null
invokevirtual javax.security.auth.login.LoginContext.throwException:(Ljavax/security/auth/login/LoginException;Ljavax/security/auth/login/LoginException;)V
134: goto 146
StackMap locals:
StackMap stack:
135: aload 0
getfield javax.security.auth.login.LoginContext.success:Z
ifne 138
aload 0
getfield javax.security.auth.login.LoginContext.firstError:Ljavax/security/auth/login/LoginException;
ifnull 138
136: aload 0
aload 0
getfield javax.security.auth.login.LoginContext.firstError:Ljavax/security/auth/login/LoginException;
aconst_null
invokevirtual javax.security.auth.login.LoginContext.throwException:(Ljavax/security/auth/login/LoginException;Ljavax/security/auth/login/LoginException;)V
137: goto 146
StackMap locals:
StackMap stack:
138: aload 0
getfield javax.security.auth.login.LoginContext.success:Z
ifne 144
139: aload 0
new javax.security.auth.login.LoginException
dup
140: ldc "Login.Failure.all.modules.ignored"
invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
141: aconst_null
142: invokevirtual javax.security.auth.login.LoginContext.throwException:(Ljavax/security/auth/login/LoginException;Ljavax/security/auth/login/LoginException;)V
143: goto 146
144: StackMap locals:
StackMap stack:
aload 0
invokevirtual javax.security.auth.login.LoginContext.clearState:()V
145: return
146: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 147 0 this Ljavax/security/auth/login/LoginContext;
0 147 1 methodName Ljava/lang/String;
1 132 2 i I
3 54 3 mIndex I
4 54 4 methods [Ljava/lang/reflect/Method;
11 26 5 c Ljava/lang/Class<*>;
12 26 6 constructor Ljava/lang/reflect/Constructor<*>;
13 26 7 args [Ljava/lang/Object;
25 26 8 initArgs [Ljava/lang/Object;
32 54 5 args [Ljava/lang/Object;
37 54 6 status Z
59 61 3 form Ljava/text/MessageFormat;
60 61 4 source [Ljava/lang/Object;
63 68 3 ie Ljava/lang/InstantiationException;
70 75 3 cnfe Ljava/lang/ClassNotFoundException;
77 82 3 iae Ljava/lang/IllegalAccessException;
84 130 3 ite Ljava/lang/reflect/InvocationTargetException;
89 90 4 le Ljavax/security/auth/login/LoginException;
92 101 4 le Ljavax/security/auth/login/LoginException;
107 130 4 le Ljavax/security/auth/login/LoginException;
102 107 5 sw Ljava/io/StringWriter;
Exception table:
from to target type
2 47 55 Class java.lang.NoSuchMethodException
48 54 55 Class java.lang.NoSuchMethodException
2 47 62 Class java.lang.InstantiationException
48 54 62 Class java.lang.InstantiationException
2 47 69 Class java.lang.ClassNotFoundException
48 54 69 Class java.lang.ClassNotFoundException
2 47 76 Class java.lang.IllegalAccessException
48 54 76 Class java.lang.IllegalAccessException
2 47 83 Class java.lang.reflect.InvocationTargetException
48 54 83 Class java.lang.reflect.InvocationTargetException
Exceptions:
throws javax.security.auth.login.LoginException
MethodParameters:
Name Flags
methodName
}
SourceFile: "LoginContext.java"
NestMembers:
javax.security.auth.login.LoginContext$1 javax.security.auth.login.LoginContext$2 javax.security.auth.login.LoginContext$3 javax.security.auth.login.LoginContext$4 javax.security.auth.login.LoginContext$ModuleInfo javax.security.auth.login.LoginContext$SecureCallbackHandler javax.security.auth.login.LoginContext$SecureCallbackHandler$1
InnerClasses:
public LoginModuleControlFlag = javax.security.auth.login.AppConfigurationEntry$LoginModuleControlFlag of javax.security.auth.login.AppConfigurationEntry
javax.security.auth.login.LoginContext$1
javax.security.auth.login.LoginContext$2
javax.security.auth.login.LoginContext$3
javax.security.auth.login.LoginContext$4
private ModuleInfo = javax.security.auth.login.LoginContext$ModuleInfo of javax.security.auth.login.LoginContext
private SecureCallbackHandler = javax.security.auth.login.LoginContext$SecureCallbackHandler of javax.security.auth.login.LoginContext