public class org.apache.catalina.authenticator.jaspic.CallbackHandlerImpl implements javax.security.auth.callback.CallbackHandler
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.catalina.authenticator.jaspic.CallbackHandlerImpl
super_class: java.lang.Object
{
private static final org.apache.tomcat.util.res.StringManager sm;
descriptor: Lorg/apache/tomcat/util/res/StringManager;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static javax.security.auth.callback.CallbackHandler instance;
descriptor: Ljavax/security/auth/callback/CallbackHandler;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc Lorg/apache/catalina/authenticator/jaspic/CallbackHandlerImpl;
invokestatic org.apache.tomcat.util.res.StringManager.getManager:(Ljava/lang/Class;)Lorg/apache/tomcat/util/res/StringManager;
putstatic org.apache.catalina.authenticator.jaspic.CallbackHandlerImpl.sm:Lorg/apache/tomcat/util/res/StringManager;
1: new org.apache.catalina.authenticator.jaspic.CallbackHandlerImpl
dup
invokespecial org.apache.catalina.authenticator.jaspic.CallbackHandlerImpl.<init>:()V
putstatic org.apache.catalina.authenticator.jaspic.CallbackHandlerImpl.instance:Ljavax/security/auth/callback/CallbackHandler;
2: return
LocalVariableTable:
Start End Slot Name Signature
public static javax.security.auth.callback.CallbackHandler getInstance();
descriptor: ()Ljavax/security/auth/callback/CallbackHandler;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic org.apache.catalina.authenticator.jaspic.CallbackHandlerImpl.instance:Ljavax/security/auth/callback/CallbackHandler;
areturn
LocalVariableTable:
Start End Slot Name Signature
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/authenticator/jaspic/CallbackHandlerImpl;
public void handle(javax.security.auth.callback.Callback[]);
descriptor: ([Ljavax/security/auth/callback/Callback;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=11, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aconst_null
astore 3
start local 3 2: aconst_null
astore 4
start local 4 3: aconst_null
astore 5
start local 5 4: aload 1
ifnull 26
5: aload 1
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 22
StackMap locals: org.apache.catalina.authenticator.jaspic.CallbackHandlerImpl javax.security.auth.callback.Callback[] java.lang.String java.security.Principal javax.security.auth.Subject java.lang.String[] top int int javax.security.auth.callback.Callback[]
StackMap stack:
6: aload 9
iload 7
aaload
astore 6
start local 6 7: aload 6
instanceof javax.security.auth.message.callback.CallerPrincipalCallback
ifeq 13
8: aload 6
checkcast javax.security.auth.message.callback.CallerPrincipalCallback
astore 10
start local 10 9: aload 10
invokevirtual javax.security.auth.message.callback.CallerPrincipalCallback.getName:()Ljava/lang/String;
astore 2
10: aload 10
invokevirtual javax.security.auth.message.callback.CallerPrincipalCallback.getPrincipal:()Ljava/security/Principal;
astore 3
11: aload 10
invokevirtual javax.security.auth.message.callback.CallerPrincipalCallback.getSubject:()Ljavax/security/auth/Subject;
astore 4
end local 10 12: goto 21
StackMap locals: org.apache.catalina.authenticator.jaspic.CallbackHandlerImpl javax.security.auth.callback.Callback[] java.lang.String java.security.Principal javax.security.auth.Subject java.lang.String[] javax.security.auth.callback.Callback int int javax.security.auth.callback.Callback[]
StackMap stack:
13: aload 6
instanceof javax.security.auth.message.callback.GroupPrincipalCallback
ifeq 17
14: aload 6
checkcast javax.security.auth.message.callback.GroupPrincipalCallback
astore 10
start local 10 15: aload 10
invokevirtual javax.security.auth.message.callback.GroupPrincipalCallback.getGroups:()[Ljava/lang/String;
astore 5
end local 10 16: goto 21
17: StackMap locals:
StackMap stack:
ldc Lorg/apache/catalina/authenticator/jaspic/CallbackHandlerImpl;
invokestatic org.apache.juli.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/juli/logging/Log;
astore 10
start local 10 18: aload 10
getstatic org.apache.catalina.authenticator.jaspic.CallbackHandlerImpl.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "callbackHandlerImpl.jaspicCallbackMissing"
iconst_1
anewarray java.lang.Object
dup
iconst_0
19: aload 6
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aastore
20: 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 10 end local 6 21: StackMap locals: org.apache.catalina.authenticator.jaspic.CallbackHandlerImpl javax.security.auth.callback.Callback[] java.lang.String java.security.Principal javax.security.auth.Subject java.lang.String[] top int int javax.security.auth.callback.Callback[]
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
22: iload 7
iload 8
if_icmplt 6
23: aload 0
aload 3
aload 2
aload 5
invokevirtual org.apache.catalina.authenticator.jaspic.CallbackHandlerImpl.getPrincipal:(Ljava/security/Principal;Ljava/lang/String;[Ljava/lang/String;)Ljava/security/Principal;
astore 6
start local 6 24: aload 4
ifnull 26
aload 6
ifnull 26
25: aload 4
invokevirtual javax.security.auth.Subject.getPrivateCredentials:()Ljava/util/Set;
aload 6
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 6 26: StackMap locals: org.apache.catalina.authenticator.jaspic.CallbackHandlerImpl javax.security.auth.callback.Callback[] java.lang.String java.security.Principal javax.security.auth.Subject java.lang.String[]
StackMap stack:
return
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/authenticator/jaspic/CallbackHandlerImpl;
0 27 1 callbacks [Ljavax/security/auth/callback/Callback;
1 27 2 name Ljava/lang/String;
2 27 3 principal Ljava/security/Principal;
3 27 4 subject Ljavax/security/auth/Subject;
4 27 5 groups [Ljava/lang/String;
7 21 6 callback Ljavax/security/auth/callback/Callback;
9 12 10 cpc Ljavax/security/auth/message/callback/CallerPrincipalCallback;
15 16 10 gpc Ljavax/security/auth/message/callback/GroupPrincipalCallback;
18 21 10 log Lorg/apache/juli/logging/Log;
24 26 6 gp Ljava/security/Principal;
Exceptions:
throws java.io.IOException, javax.security.auth.callback.UnsupportedCallbackException
MethodParameters:
Name Flags
callbacks
private java.security.Principal getPrincipal(java.security.Principal, java.lang.String, java.lang.String[]);
descriptor: (Ljava/security/Principal;Ljava/lang/String;[Ljava/lang/String;)Ljava/security/Principal;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
instanceof org.apache.catalina.realm.GenericPrincipal
ifeq 2
1: aload 1
areturn
2: StackMap locals:
StackMap stack:
aload 2
ifnonnull 4
aload 1
ifnull 4
3: aload 1
invokeinterface java.security.Principal.getName:()Ljava/lang/String;
astore 2
4: StackMap locals:
StackMap stack:
aload 2
ifnonnull 6
5: aconst_null
areturn
6: StackMap locals:
StackMap stack:
aload 3
ifnull 7
aload 3
arraylength
ifne 9
7: StackMap locals:
StackMap stack:
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
astore 4
start local 4 8: goto 10
end local 4 9: StackMap locals:
StackMap stack:
aload 3
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
astore 4
start local 4 10: StackMap locals: java.util.List
StackMap stack:
new org.apache.catalina.realm.GenericPrincipal
dup
aload 2
aconst_null
aload 4
aload 1
invokespecial org.apache.catalina.realm.GenericPrincipal.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/security/Principal;)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/apache/catalina/authenticator/jaspic/CallbackHandlerImpl;
0 11 1 principal Ljava/security/Principal;
0 11 2 name Ljava/lang/String;
0 11 3 groups [Ljava/lang/String;
8 9 4 roles Ljava/util/List<Ljava/lang/String;>;
10 11 4 roles Ljava/util/List<Ljava/lang/String;>;
MethodParameters:
Name Flags
principal
name
groups
}
SourceFile: "CallbackHandlerImpl.java"