public abstract class org.apache.catalina.authenticator.AuthenticatorBase extends org.apache.catalina.valves.ValveBase implements org.apache.catalina.Authenticator, jakarta.security.auth.message.config.RegistrationListener
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.apache.catalina.authenticator.AuthenticatorBase
super_class: org.apache.catalina.valves.ValveBase
{
private final org.apache.juli.logging.Log log;
descriptor: Lorg/apache/juli/logging/Log;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static final java.lang.String DATE_ONE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
protected static final org.apache.tomcat.util.res.StringManager sm;
descriptor: Lorg/apache/tomcat/util/res/StringManager;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
protected static final java.lang.String ;
descriptor: Ljava/lang/String;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: "WWW-Authenticate"
protected static final java.lang.String REALM_NAME;
descriptor: Ljava/lang/String;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: "Authentication required"
protected boolean alwaysUseSession;
descriptor: Z
flags: (0x0004) ACC_PROTECTED
protected boolean cache;
descriptor: Z
flags: (0x0004) ACC_PROTECTED
protected boolean changeSessionIdOnAuthentication;
descriptor: Z
flags: (0x0004) ACC_PROTECTED
protected org.apache.catalina.Context context;
descriptor: Lorg/apache/catalina/Context;
flags: (0x0004) ACC_PROTECTED
protected boolean disableProxyCaching;
descriptor: Z
flags: (0x0004) ACC_PROTECTED
protected boolean securePagesWithPragma;
descriptor: Z
flags: (0x0004) ACC_PROTECTED
protected java.lang.String secureRandomClass;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
protected java.lang.String secureRandomAlgorithm;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
protected java.lang.String secureRandomProvider;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
protected java.lang.String jaspicCallbackHandlerClass;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
protected boolean ;
descriptor: Z
flags: (0x0004) ACC_PROTECTED
protected org.apache.catalina.util.SessionIdGeneratorBase sessionIdGenerator;
descriptor: Lorg/apache/catalina/util/SessionIdGeneratorBase;
flags: (0x0004) ACC_PROTECTED
protected org.apache.catalina.authenticator.SingleSignOn sso;
descriptor: Lorg/apache/catalina/authenticator/SingleSignOn;
flags: (0x0004) ACC_PROTECTED
private org.apache.catalina.authenticator.AuthenticatorBase$AllowCorsPreflight allowCorsPreflight;
descriptor: Lorg/apache/catalina/authenticator/AuthenticatorBase$AllowCorsPreflight;
flags: (0x0002) ACC_PRIVATE
private volatile java.lang.String jaspicAppContextID;
descriptor: Ljava/lang/String;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile java.util.Optional<jakarta.security.auth.message.config.AuthConfigProvider> jaspicProvider;
descriptor: Ljava/util/Optional;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
Signature: Ljava/util/Optional<Ljakarta/security/auth/message/config/AuthConfigProvider;>;
private volatile javax.security.auth.callback.CallbackHandler jaspicCallbackHandler;
descriptor: Ljavax/security/auth/callback/CallbackHandler;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: lconst_1
invokestatic org.apache.tomcat.util.http.FastHttpDateFormat.formatDate:(J)Ljava/lang/String;
putstatic org.apache.catalina.authenticator.AuthenticatorBase.DATE_ONE:Ljava/lang/String;
1: ldc Lorg/apache/catalina/authenticator/AuthenticatorBase;
invokestatic org.apache.tomcat.util.res.StringManager.getManager:(Ljava/lang/Class;)Lorg/apache/tomcat/util/res/StringManager;
putstatic org.apache.catalina.authenticator.AuthenticatorBase.sm:Lorg/apache/tomcat/util/res/StringManager;
2: return
LocalVariableTable:
Start End Slot Name Signature
protected static java.lang.String getRealmName(org.apache.catalina.Context);
descriptor: (Lorg/apache/catalina/Context;)Ljava/lang/String;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=1, locals=3, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: ldc "Authentication required"
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokeinterface org.apache.catalina.Context.getLoginConfig:()Lorg/apache/tomcat/util/descriptor/web/LoginConfig;
astore 1
start local 1 3: aload 1
ifnonnull 5
4: ldc "Authentication required"
areturn
5: StackMap locals: org.apache.tomcat.util.descriptor.web.LoginConfig
StackMap stack:
aload 1
invokevirtual org.apache.tomcat.util.descriptor.web.LoginConfig.getRealmName:()Ljava/lang/String;
astore 2
start local 2 6: aload 2
ifnonnull 8
7: ldc "Authentication required"
areturn
8: StackMap locals: java.lang.String
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 context Lorg/apache/catalina/Context;
3 9 1 config Lorg/apache/tomcat/util/descriptor/web/LoginConfig;
6 9 2 result Ljava/lang/String;
MethodParameters:
Name Flags
context
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
invokespecial org.apache.catalina.valves.ValveBase.<init>:(Z)V
1: aload 0
ldc Lorg/apache/catalina/authenticator/AuthenticatorBase;
invokestatic org.apache.juli.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/juli/logging/Log;
putfield org.apache.catalina.authenticator.AuthenticatorBase.log:Lorg/apache/juli/logging/Log;
2: aload 0
iconst_0
putfield org.apache.catalina.authenticator.AuthenticatorBase.alwaysUseSession:Z
3: aload 0
iconst_1
putfield org.apache.catalina.authenticator.AuthenticatorBase.cache:Z
4: aload 0
iconst_1
putfield org.apache.catalina.authenticator.AuthenticatorBase.changeSessionIdOnAuthentication:Z
5: aload 0
aconst_null
putfield org.apache.catalina.authenticator.AuthenticatorBase.context:Lorg/apache/catalina/Context;
6: aload 0
iconst_1
putfield org.apache.catalina.authenticator.AuthenticatorBase.disableProxyCaching:Z
7: aload 0
iconst_0
putfield org.apache.catalina.authenticator.AuthenticatorBase.securePagesWithPragma:Z
8: aload 0
aconst_null
putfield org.apache.catalina.authenticator.AuthenticatorBase.secureRandomClass:Ljava/lang/String;
9: aload 0
ldc "SHA1PRNG"
putfield org.apache.catalina.authenticator.AuthenticatorBase.secureRandomAlgorithm:Ljava/lang/String;
10: aload 0
aconst_null
putfield org.apache.catalina.authenticator.AuthenticatorBase.secureRandomProvider:Ljava/lang/String;
11: aload 0
ldc "org.apache.catalina.authenticator.jaspic.CallbackHandlerImpl"
putfield org.apache.catalina.authenticator.AuthenticatorBase.jaspicCallbackHandlerClass:Ljava/lang/String;
12: aload 0
iconst_0
putfield org.apache.catalina.authenticator.AuthenticatorBase.sendAuthInfoResponseHeaders:Z
13: aload 0
aconst_null
putfield org.apache.catalina.authenticator.AuthenticatorBase.sessionIdGenerator:Lorg/apache/catalina/util/SessionIdGeneratorBase;
14: aload 0
aconst_null
putfield org.apache.catalina.authenticator.AuthenticatorBase.sso:Lorg/apache/catalina/authenticator/SingleSignOn;
15: aload 0
getstatic org.apache.catalina.authenticator.AuthenticatorBase$AllowCorsPreflight.NEVER:Lorg/apache/catalina/authenticator/AuthenticatorBase$AllowCorsPreflight;
putfield org.apache.catalina.authenticator.AuthenticatorBase.allowCorsPreflight:Lorg/apache/catalina/authenticator/AuthenticatorBase$AllowCorsPreflight;
16: aload 0
aconst_null
putfield org.apache.catalina.authenticator.AuthenticatorBase.jaspicAppContextID:Ljava/lang/String;
17: aload 0
aconst_null
putfield org.apache.catalina.authenticator.AuthenticatorBase.jaspicProvider:Ljava/util/Optional;
18: aload 0
aconst_null
putfield org.apache.catalina.authenticator.AuthenticatorBase.jaspicCallbackHandler:Ljavax/security/auth/callback/CallbackHandler;
19: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lorg/apache/catalina/authenticator/AuthenticatorBase;
public java.lang.String getAllowCorsPreflight();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.allowCorsPreflight:Lorg/apache/catalina/authenticator/AuthenticatorBase$AllowCorsPreflight;
invokevirtual org.apache.catalina.authenticator.AuthenticatorBase$AllowCorsPreflight.name:()Ljava/lang/String;
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/authenticator/AuthenticatorBase;
public void setAllowCorsPreflight(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
aload 1
invokevirtual java.lang.String.trim:()Ljava/lang/String;
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String;
invokestatic org.apache.catalina.authenticator.AuthenticatorBase$AllowCorsPreflight.valueOf:(Ljava/lang/String;)Lorg/apache/catalina/authenticator/AuthenticatorBase$AllowCorsPreflight;
putfield org.apache.catalina.authenticator.AuthenticatorBase.allowCorsPreflight:Lorg/apache/catalina/authenticator/AuthenticatorBase$AllowCorsPreflight;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/authenticator/AuthenticatorBase;
0 2 1 allowCorsPreflight Ljava/lang/String;
MethodParameters:
Name Flags
allowCorsPreflight
public boolean getAlwaysUseSession();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.alwaysUseSession:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/authenticator/AuthenticatorBase;
public void setAlwaysUseSession(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.authenticator.AuthenticatorBase.alwaysUseSession:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/authenticator/AuthenticatorBase;
0 2 1 alwaysUseSession Z
MethodParameters:
Name Flags
alwaysUseSession
public boolean getCache();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.cache:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/authenticator/AuthenticatorBase;
public void setCache(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.authenticator.AuthenticatorBase.cache:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/authenticator/AuthenticatorBase;
0 2 1 cache Z
MethodParameters:
Name Flags
cache
public org.apache.catalina.Container getContainer();
descriptor: ()Lorg/apache/catalina/Container;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.context:Lorg/apache/catalina/Context;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/authenticator/AuthenticatorBase;
public void setContainer(org.apache.catalina.Container);
descriptor: (Lorg/apache/catalina/Container;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 2
aload 1
instanceof org.apache.catalina.Context
ifne 2
1: new java.lang.IllegalArgumentException
dup
getstatic org.apache.catalina.authenticator.AuthenticatorBase.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "authenticator.notContext"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokespecial org.apache.catalina.valves.ValveBase.setContainer:(Lorg/apache/catalina/Container;)V
3: aload 0
aload 1
checkcast org.apache.catalina.Context
putfield org.apache.catalina.authenticator.AuthenticatorBase.context:Lorg/apache/catalina/Context;
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/catalina/authenticator/AuthenticatorBase;
0 5 1 container Lorg/apache/catalina/Container;
MethodParameters:
Name Flags
container
public boolean getDisableProxyCaching();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.disableProxyCaching:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/authenticator/AuthenticatorBase;
public void setDisableProxyCaching(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.authenticator.AuthenticatorBase.disableProxyCaching:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/authenticator/AuthenticatorBase;
0 2 1 nocache Z
MethodParameters:
Name Flags
nocache
public boolean getSecurePagesWithPragma();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.securePagesWithPragma:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/authenticator/AuthenticatorBase;
public void setSecurePagesWithPragma(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.authenticator.AuthenticatorBase.securePagesWithPragma:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/authenticator/AuthenticatorBase;
0 2 1 securePagesWithPragma Z
MethodParameters:
Name Flags
securePagesWithPragma
public boolean getChangeSessionIdOnAuthentication();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.changeSessionIdOnAuthentication:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/authenticator/AuthenticatorBase;
public void setChangeSessionIdOnAuthentication(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.authenticator.AuthenticatorBase.changeSessionIdOnAuthentication:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/authenticator/AuthenticatorBase;
0 2 1 changeSessionIdOnAuthentication Z
MethodParameters:
Name Flags
changeSessionIdOnAuthentication
public java.lang.String getSecureRandomClass();
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.authenticator.AuthenticatorBase.secureRandomClass:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/authenticator/AuthenticatorBase;
public void setSecureRandomClass(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.authenticator.AuthenticatorBase.secureRandomClass:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/authenticator/AuthenticatorBase;
0 2 1 secureRandomClass Ljava/lang/String;
MethodParameters:
Name Flags
secureRandomClass
public java.lang.String getSecureRandomAlgorithm();
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.authenticator.AuthenticatorBase.secureRandomAlgorithm:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/authenticator/AuthenticatorBase;
public void setSecureRandomAlgorithm(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.authenticator.AuthenticatorBase.secureRandomAlgorithm:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/authenticator/AuthenticatorBase;
0 2 1 secureRandomAlgorithm Ljava/lang/String;
MethodParameters:
Name Flags
secureRandomAlgorithm
public java.lang.String getSecureRandomProvider();
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.authenticator.AuthenticatorBase.secureRandomProvider:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/authenticator/AuthenticatorBase;
public void setSecureRandomProvider(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.authenticator.AuthenticatorBase.secureRandomProvider:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/authenticator/AuthenticatorBase;
0 2 1 secureRandomProvider Ljava/lang/String;
MethodParameters:
Name Flags
secureRandomProvider
public java.lang.String getJaspicCallbackHandlerClass();
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.authenticator.AuthenticatorBase.jaspicCallbackHandlerClass:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/authenticator/AuthenticatorBase;
public void setJaspicCallbackHandlerClass(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.authenticator.AuthenticatorBase.jaspicCallbackHandlerClass:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/authenticator/AuthenticatorBase;
0 2 1 jaspicCallbackHandlerClass Ljava/lang/String;
MethodParameters:
Name Flags
jaspicCallbackHandlerClass
public boolean ();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.sendAuthInfoResponseHeaders:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/authenticator/AuthenticatorBase;
public void (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.authenticator.AuthenticatorBase.sendAuthInfoResponseHeaders:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/authenticator/AuthenticatorBase;
0 2 1 sendAuthInfoResponseHeaders Z
MethodParameters:
Name Flags
sendAuthInfoResponseHeaders
public void invoke(org.apache.catalina.connector.Request, org.apache.catalina.connector.Response);
descriptor: (Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 4
1: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Security checking request "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual org.apache.catalina.connector.Request.getMethod:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
2: aload 1
invokevirtual org.apache.catalina.connector.Request.getRequestURI:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
4: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.cache:Z
ifeq 17
5: aload 1
invokevirtual org.apache.catalina.connector.Request.getUserPrincipal:()Ljava/security/Principal;
astore 3
start local 3 6: aload 3
ifnonnull 17
7: aload 1
iconst_0
invokevirtual org.apache.catalina.connector.Request.getSessionInternal:(Z)Lorg/apache/catalina/Session;
astore 4
start local 4 8: aload 4
ifnull 17
9: aload 4
invokeinterface org.apache.catalina.Session.getPrincipal:()Ljava/security/Principal;
astore 3
10: aload 3
ifnull 17
11: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 15
12: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "We have cached auth type "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokeinterface org.apache.catalina.Session.getAuthType:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
13: ldc " for principal "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
14: invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
15: StackMap locals: java.security.Principal org.apache.catalina.Session
StackMap stack:
aload 1
aload 4
invokeinterface org.apache.catalina.Session.getAuthType:()Ljava/lang/String;
invokevirtual org.apache.catalina.connector.Request.setAuthType:(Ljava/lang/String;)V
16: aload 1
aload 3
invokevirtual org.apache.catalina.connector.Request.setUserPrincipal:(Ljava/security/Principal;)V
end local 4 end local 3 17: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.apache.catalina.authenticator.AuthenticatorBase.isContinuationRequired:(Lorg/apache/catalina/connector/Request;)Z
istore 3
start local 3 18: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.context:Lorg/apache/catalina/Context;
invokeinterface org.apache.catalina.Context.getRealm:()Lorg/apache/catalina/Realm;
astore 4
start local 4 19: aload 4
aload 1
aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.context:Lorg/apache/catalina/Context;
invokeinterface org.apache.catalina.Realm.findSecurityConstraints:(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/Context;)[Lorg/apache/tomcat/util/descriptor/web/SecurityConstraint;
astore 5
start local 5 20: aload 0
invokevirtual org.apache.catalina.authenticator.AuthenticatorBase.getJaspicProvider:()Ljakarta/security/auth/message/config/AuthConfigProvider;
astore 6
start local 6 21: aload 6
ifnull 23
22: iconst_1
istore 3
23: StackMap locals: org.apache.catalina.authenticator.AuthenticatorBase org.apache.catalina.connector.Request org.apache.catalina.connector.Response int org.apache.catalina.Realm org.apache.tomcat.util.descriptor.web.SecurityConstraint[] jakarta.security.auth.message.config.AuthConfigProvider
StackMap stack:
aload 5
ifnonnull 28
aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.context:Lorg/apache/catalina/Context;
invokeinterface org.apache.catalina.Context.getPreemptiveAuthentication:()Z
ifne 28
iload 3
ifne 28
24: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 26
25: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.log:Lorg/apache/juli/logging/Log;
ldc "Not subject to any constraint"
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
26: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.catalina.authenticator.AuthenticatorBase.getNext:()Lorg/apache/catalina/Valve;
aload 1
aload 2
invokeinterface org.apache.catalina.Valve.invoke:(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V
27: return
28: StackMap locals:
StackMap stack:
aload 5
ifnull 36
aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.disableProxyCaching:Z
ifeq 36
29: ldc "POST"
aload 1
invokevirtual org.apache.catalina.connector.Request.getMethod:()Ljava/lang/String;
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 36
30: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.securePagesWithPragma:Z
ifeq 34
31: aload 2
ldc "Pragma"
ldc "No-cache"
invokevirtual org.apache.catalina.connector.Response.setHeader:(Ljava/lang/String;Ljava/lang/String;)V
32: aload 2
ldc "Cache-Control"
ldc "no-cache"
invokevirtual org.apache.catalina.connector.Response.setHeader:(Ljava/lang/String;Ljava/lang/String;)V
33: goto 35
34: StackMap locals:
StackMap stack:
aload 2
ldc "Cache-Control"
ldc "private"
invokevirtual org.apache.catalina.connector.Response.setHeader:(Ljava/lang/String;Ljava/lang/String;)V
35: StackMap locals:
StackMap stack:
aload 2
ldc "Expires"
getstatic org.apache.catalina.authenticator.AuthenticatorBase.DATE_ONE:Ljava/lang/String;
invokevirtual org.apache.catalina.connector.Response.setHeader:(Ljava/lang/String;Ljava/lang/String;)V
36: StackMap locals:
StackMap stack:
aload 5
ifnull 43
37: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 39
38: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.log:Lorg/apache/juli/logging/Log;
ldc "Calling hasUserDataPermission()"
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
39: StackMap locals:
StackMap stack:
aload 4
aload 1
aload 2
aload 5
invokeinterface org.apache.catalina.Realm.hasUserDataPermission:(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;[Lorg/apache/tomcat/util/descriptor/web/SecurityConstraint;)Z
ifne 43
40: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 42
41: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.log:Lorg/apache/juli/logging/Log;
ldc "Failed hasUserDataPermission() test"
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
42: StackMap locals:
StackMap stack:
return
43: StackMap locals:
StackMap stack:
iconst_0
istore 7
start local 7 44: aload 5
ifnull 58
45: iconst_1
istore 7
46: iconst_0
istore 8
start local 8 47: goto 57
48: StackMap locals: int int
StackMap stack:
aload 5
iload 8
aaload
invokevirtual org.apache.tomcat.util.descriptor.web.SecurityConstraint.getAuthConstraint:()Z
ifne 51
49: iconst_0
istore 7
50: goto 56
StackMap locals:
StackMap stack:
51: aload 5
iload 8
aaload
invokevirtual org.apache.tomcat.util.descriptor.web.SecurityConstraint.getAllRoles:()Z
ifne 56
52: aload 5
iload 8
aaload
invokevirtual org.apache.tomcat.util.descriptor.web.SecurityConstraint.getAuthenticatedUsers:()Z
ifne 56
53: aload 5
iload 8
aaload
invokevirtual org.apache.tomcat.util.descriptor.web.SecurityConstraint.findAuthRoles:()[Ljava/lang/String;
astore 9
start local 9 54: aload 9
ifnull 55
aload 9
arraylength
ifne 56
55: StackMap locals: java.lang.String[]
StackMap stack:
iconst_0
istore 7
end local 9 56: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
57: iload 8
aload 5
arraylength
if_icmpge 58
iload 7
ifne 48
end local 8 58: StackMap locals:
StackMap stack:
iload 3
ifne 60
iload 7
ifeq 60
59: iconst_1
istore 3
60: StackMap locals:
StackMap stack:
iload 3
ifne 64
aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.context:Lorg/apache/catalina/Context;
invokeinterface org.apache.catalina.Context.getPreemptiveAuthentication:()Z
ifeq 64
61: aload 1
invokevirtual org.apache.catalina.connector.Request.getCoyoteRequest:()Lorg/apache/coyote/Request;
invokevirtual org.apache.coyote.Request.getMimeHeaders:()Lorg/apache/tomcat/util/http/MimeHeaders;
ldc "authorization"
invokevirtual org.apache.tomcat.util.http.MimeHeaders.getValue:(Ljava/lang/String;)Lorg/apache/tomcat/util/buf/MessageBytes;
ifnull 62
iconst_1
goto 63
StackMap locals:
StackMap stack:
62: iconst_0
63: StackMap locals:
StackMap stack: int
istore 3
64: StackMap locals:
StackMap stack:
iload 3
ifne 70
aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.context:Lorg/apache/catalina/Context;
invokeinterface org.apache.catalina.Context.getPreemptiveAuthentication:()Z
ifeq 70
65: ldc "CLIENT_CERT"
aload 0
invokevirtual org.apache.catalina.authenticator.AuthenticatorBase.getAuthMethod:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 70
66: aload 0
aload 1
invokevirtual org.apache.catalina.authenticator.AuthenticatorBase.getRequestCertificates:(Lorg/apache/catalina/connector/Request;)[Ljava/security/cert/X509Certificate;
astore 8
start local 8 67: aload 8
ifnull 68
aload 8
arraylength
ifle 68
iconst_1
goto 69
StackMap locals: java.security.cert.X509Certificate[]
StackMap stack:
68: iconst_0
StackMap locals:
StackMap stack: int
69: istore 3
end local 8 70: StackMap locals:
StackMap stack:
aconst_null
astore 8
start local 8 71: iload 3
ifne 72
aload 5
ifnull 77
StackMap locals: org.apache.catalina.authenticator.AuthenticatorBase$JaspicState
StackMap stack:
72: aload 0
aload 1
invokevirtual org.apache.catalina.authenticator.AuthenticatorBase.allowCorsPreflightBypass:(Lorg/apache/catalina/connector/Request;)Z
ifeq 77
73: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 75
74: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.log:Lorg/apache/juli/logging/Log;
ldc "CORS Preflight request bypassing authentication"
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
75: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.catalina.authenticator.AuthenticatorBase.getNext:()Lorg/apache/catalina/Valve;
aload 1
aload 2
invokeinterface org.apache.catalina.Valve.invoke:(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V
76: return
77: StackMap locals:
StackMap stack:
iload 3
ifeq 90
78: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 80
79: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.log:Lorg/apache/juli/logging/Log;
ldc "Calling authenticate()"
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
80: StackMap locals:
StackMap stack:
aload 6
ifnull 84
81: aload 0
aload 6
aload 1
aload 2
iload 7
invokevirtual org.apache.catalina.authenticator.AuthenticatorBase.getJaspicState:(Ljakarta/security/auth/message/config/AuthConfigProvider;Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;Z)Lorg/apache/catalina/authenticator/AuthenticatorBase$JaspicState;
astore 8
82: aload 8
ifnonnull 84
83: return
84: StackMap locals:
StackMap stack:
aload 6
ifnonnull 85
aload 0
aload 1
aload 2
invokevirtual org.apache.catalina.authenticator.AuthenticatorBase.doAuthenticate:(Lorg/apache/catalina/connector/Request;Ljakarta/servlet/http/HttpServletResponse;)Z
ifeq 87
85: StackMap locals:
StackMap stack:
aload 6
ifnull 90
86: aload 0
aload 1
aload 2
aload 8
iconst_0
invokevirtual org.apache.catalina.authenticator.AuthenticatorBase.authenticateJaspic:(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;Lorg/apache/catalina/authenticator/AuthenticatorBase$JaspicState;Z)Z
ifne 90
87: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 89
88: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.log:Lorg/apache/juli/logging/Log;
ldc "Failed authenticate() test"
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
89: StackMap locals:
StackMap stack:
return
90: StackMap locals:
StackMap stack:
aload 5
ifnull 97
91: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 93
92: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.log:Lorg/apache/juli/logging/Log;
ldc "Calling accessControl()"
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
93: StackMap locals:
StackMap stack:
aload 4
aload 1
aload 2
aload 5
aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.context:Lorg/apache/catalina/Context;
invokeinterface org.apache.catalina.Realm.hasResourcePermission:(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;[Lorg/apache/tomcat/util/descriptor/web/SecurityConstraint;Lorg/apache/catalina/Context;)Z
ifne 97
94: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 96
95: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.log:Lorg/apache/juli/logging/Log;
ldc "Failed accessControl() test"
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
96: StackMap locals:
StackMap stack:
return
97: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 99
98: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.log:Lorg/apache/juli/logging/Log;
ldc "Successfully passed all security constraints"
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
99: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.catalina.authenticator.AuthenticatorBase.getNext:()Lorg/apache/catalina/Valve;
aload 1
aload 2
invokeinterface org.apache.catalina.Valve.invoke:(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;)V
100: aload 6
ifnull 102
101: aload 0
aload 1
aload 2
aload 8
invokevirtual org.apache.catalina.authenticator.AuthenticatorBase.secureResponseJspic:(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;Lorg/apache/catalina/authenticator/AuthenticatorBase$JaspicState;)V
102: StackMap locals:
StackMap stack:
return
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 103 0 this Lorg/apache/catalina/authenticator/AuthenticatorBase;
0 103 1 request Lorg/apache/catalina/connector/Request;
0 103 2 response Lorg/apache/catalina/connector/Response;
6 17 3 principal Ljava/security/Principal;
8 17 4 session Lorg/apache/catalina/Session;
18 103 3 authRequired Z
19 103 4 realm Lorg/apache/catalina/Realm;
20 103 5 constraints [Lorg/apache/tomcat/util/descriptor/web/SecurityConstraint;
21 103 6 jaspicProvider Ljakarta/security/auth/message/config/AuthConfigProvider;
44 103 7 hasAuthConstraint Z
47 58 8 i I
54 56 9 roles [Ljava/lang/String;
67 70 8 certs [Ljava/security/cert/X509Certificate;
71 103 8 jaspicState Lorg/apache/catalina/authenticator/AuthenticatorBase$JaspicState;
Exceptions:
throws java.io.IOException, jakarta.servlet.ServletException
MethodParameters:
Name Flags
request
response
protected boolean allowCorsPreflightBypass(org.apache.catalina.connector.Request);
descriptor: (Lorg/apache/catalina/connector/Request;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=17, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.allowCorsPreflight:Lorg/apache/catalina/authenticator/AuthenticatorBase$AllowCorsPreflight;
getstatic org.apache.catalina.authenticator.AuthenticatorBase$AllowCorsPreflight.NEVER:Lorg/apache/catalina/authenticator/AuthenticatorBase$AllowCorsPreflight;
if_acmpeq 37
2: ldc "OPTIONS"
aload 1
invokevirtual org.apache.catalina.connector.Request.getMethod:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 37
3: aload 1
ldc "Origin"
invokevirtual org.apache.catalina.connector.Request.getHeader:(Ljava/lang/String;)Ljava/lang/String;
astore 3
start local 3 4: aload 3
ifnull 37
5: aload 3
invokevirtual java.lang.String.isEmpty:()Z
ifne 37
6: aload 3
invokestatic org.apache.tomcat.util.http.RequestUtil.isValidOrigin:(Ljava/lang/String;)Z
ifeq 37
7: aload 1
aload 3
invokestatic org.apache.tomcat.util.http.RequestUtil.isSameOrigin:(Ljakarta/servlet/http/HttpServletRequest;Ljava/lang/String;)Z
ifne 37
8: aload 1
ldc "Access-Control-Request-Method"
invokevirtual org.apache.catalina.connector.Request.getHeader:(Ljava/lang/String;)Ljava/lang/String;
9: astore 4
start local 4 10: aload 4
ifnull 37
11: aload 4
invokevirtual java.lang.String.isEmpty:()Z
ifne 37
12: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.allowCorsPreflight:Lorg/apache/catalina/authenticator/AuthenticatorBase$AllowCorsPreflight;
getstatic org.apache.catalina.authenticator.AuthenticatorBase$AllowCorsPreflight.ALWAYS:Lorg/apache/catalina/authenticator/AuthenticatorBase$AllowCorsPreflight;
if_acmpne 15
13: iconst_1
istore 2
14: goto 37
StackMap locals: int java.lang.String java.lang.String
StackMap stack:
15: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.allowCorsPreflight:Lorg/apache/catalina/authenticator/AuthenticatorBase$AllowCorsPreflight;
getstatic org.apache.catalina.authenticator.AuthenticatorBase$AllowCorsPreflight.FILTER:Lorg/apache/catalina/authenticator/AuthenticatorBase$AllowCorsPreflight;
if_acmpne 37
16: getstatic jakarta.servlet.DispatcherType.REQUEST:Ljakarta/servlet/DispatcherType;
aload 1
invokevirtual org.apache.catalina.connector.Request.getDispatcherType:()Ljakarta/servlet/DispatcherType;
if_acmpne 37
17: aload 1
invokevirtual org.apache.catalina.connector.Request.getContext:()Lorg/apache/catalina/Context;
invokeinterface org.apache.catalina.Context.findFilterDefs:()[Lorg/apache/tomcat/util/descriptor/web/FilterDef;
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 36
StackMap locals: org.apache.catalina.authenticator.AuthenticatorBase org.apache.catalina.connector.Request int java.lang.String java.lang.String top int int org.apache.tomcat.util.descriptor.web.FilterDef[]
StackMap stack:
18: aload 8
iload 6
aaload
astore 5
start local 5 19: ldc Lorg/apache/catalina/filters/CorsFilter;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aload 5
invokevirtual org.apache.tomcat.util.descriptor.web.FilterDef.getFilterClass:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 35
20: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.context:Lorg/apache/catalina/Context;
invokeinterface org.apache.catalina.Context.findFilterMaps:()[Lorg/apache/tomcat/util/descriptor/web/FilterMap;
dup
astore 12
arraylength
istore 11
iconst_0
istore 10
goto 33
StackMap locals: org.apache.catalina.authenticator.AuthenticatorBase org.apache.catalina.connector.Request int java.lang.String java.lang.String org.apache.tomcat.util.descriptor.web.FilterDef int int org.apache.tomcat.util.descriptor.web.FilterDef[] top int int org.apache.tomcat.util.descriptor.web.FilterMap[]
StackMap stack:
21: aload 12
iload 10
aaload
astore 9
start local 9 22: aload 9
invokevirtual org.apache.tomcat.util.descriptor.web.FilterMap.getFilterName:()Ljava/lang/String;
aload 5
invokevirtual org.apache.tomcat.util.descriptor.web.FilterDef.getFilterName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 32
23: aload 9
invokevirtual org.apache.tomcat.util.descriptor.web.FilterMap.getDispatcherMapping:()I
bipush 8
iand
ifle 37
24: aload 9
invokevirtual org.apache.tomcat.util.descriptor.web.FilterMap.getURLPatterns:()[Ljava/lang/String;
dup
astore 16
arraylength
istore 15
iconst_0
istore 14
goto 30
StackMap locals: org.apache.catalina.authenticator.AuthenticatorBase org.apache.catalina.connector.Request int java.lang.String java.lang.String org.apache.tomcat.util.descriptor.web.FilterDef int int org.apache.tomcat.util.descriptor.web.FilterDef[] org.apache.tomcat.util.descriptor.web.FilterMap int int org.apache.tomcat.util.descriptor.web.FilterMap[] top int int java.lang.String[]
StackMap stack:
25: aload 16
iload 14
aaload
astore 13
start local 13 26: ldc "/*"
aload 13
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 29
27: iconst_1
istore 2
28: goto 37
end local 13 29: StackMap locals:
StackMap stack:
iinc 14 1
StackMap locals:
StackMap stack:
30: iload 14
iload 15
if_icmplt 25
31: goto 37
end local 9 32: StackMap locals: org.apache.catalina.authenticator.AuthenticatorBase org.apache.catalina.connector.Request int java.lang.String java.lang.String org.apache.tomcat.util.descriptor.web.FilterDef int int org.apache.tomcat.util.descriptor.web.FilterDef[] top int int org.apache.tomcat.util.descriptor.web.FilterMap[]
StackMap stack:
iinc 10 1
StackMap locals:
StackMap stack:
33: iload 10
iload 11
if_icmplt 21
34: goto 37
end local 5 35: StackMap locals: org.apache.catalina.authenticator.AuthenticatorBase org.apache.catalina.connector.Request int java.lang.String java.lang.String top int int org.apache.tomcat.util.descriptor.web.FilterDef[]
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
36: iload 6
iload 7
if_icmplt 18
end local 4 end local 3 37: StackMap locals: org.apache.catalina.authenticator.AuthenticatorBase org.apache.catalina.connector.Request int
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 38 0 this Lorg/apache/catalina/authenticator/AuthenticatorBase;
0 38 1 request Lorg/apache/catalina/connector/Request;
1 38 2 allowBypass Z
4 37 3 originHeader Ljava/lang/String;
10 37 4 accessControlRequestMethodHeader Ljava/lang/String;
19 35 5 filterDef Lorg/apache/tomcat/util/descriptor/web/FilterDef;
22 32 9 filterMap Lorg/apache/tomcat/util/descriptor/web/FilterMap;
26 29 13 urlPattern Ljava/lang/String;
MethodParameters:
Name Flags
request
public boolean authenticate(org.apache.catalina.connector.Request, jakarta.servlet.http.HttpServletResponse);
descriptor: (Lorg/apache/catalina/connector/Request;Ljakarta/servlet/http/HttpServletResponse;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.apache.catalina.authenticator.AuthenticatorBase.getJaspicProvider:()Ljakarta/security/auth/message/config/AuthConfigProvider;
astore 3
start local 3 1: aload 3
ifnonnull 3
2: aload 0
aload 1
aload 2
invokevirtual org.apache.catalina.authenticator.AuthenticatorBase.doAuthenticate:(Lorg/apache/catalina/connector/Request;Ljakarta/servlet/http/HttpServletResponse;)Z
ireturn
3: StackMap locals: jakarta.security.auth.message.config.AuthConfigProvider
StackMap stack:
aload 1
invokevirtual org.apache.catalina.connector.Request.getResponse:()Lorg/apache/catalina/connector/Response;
astore 4
start local 4 4: aload 0
aload 3
aload 1
aload 4
iconst_1
invokevirtual org.apache.catalina.authenticator.AuthenticatorBase.getJaspicState:(Ljakarta/security/auth/message/config/AuthConfigProvider;Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;Z)Lorg/apache/catalina/authenticator/AuthenticatorBase$JaspicState;
astore 5
start local 5 5: aload 5
ifnonnull 7
6: iconst_0
ireturn
7: StackMap locals: org.apache.catalina.connector.Response org.apache.catalina.authenticator.AuthenticatorBase$JaspicState
StackMap stack:
aload 0
aload 1
aload 4
aload 5
iconst_1
invokevirtual org.apache.catalina.authenticator.AuthenticatorBase.authenticateJaspic:(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;Lorg/apache/catalina/authenticator/AuthenticatorBase$JaspicState;Z)Z
istore 6
start local 6 8: aload 0
aload 1
aload 4
aload 5
invokevirtual org.apache.catalina.authenticator.AuthenticatorBase.secureResponseJspic:(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;Lorg/apache/catalina/authenticator/AuthenticatorBase$JaspicState;)V
9: iload 6
ireturn
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 10 0 this Lorg/apache/catalina/authenticator/AuthenticatorBase;
0 10 1 request Lorg/apache/catalina/connector/Request;
0 10 2 httpResponse Ljakarta/servlet/http/HttpServletResponse;
1 10 3 jaspicProvider Ljakarta/security/auth/message/config/AuthConfigProvider;
4 10 4 response Lorg/apache/catalina/connector/Response;
5 10 5 jaspicState Lorg/apache/catalina/authenticator/AuthenticatorBase$JaspicState;
8 10 6 result Z
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
request
httpResponse
private void secureResponseJspic(org.apache.catalina.connector.Request, org.apache.catalina.connector.Response, org.apache.catalina.authenticator.AuthenticatorBase$JaspicState);
descriptor: (Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;Lorg/apache/catalina/authenticator/AuthenticatorBase$JaspicState;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
getfield org.apache.catalina.authenticator.AuthenticatorBase$JaspicState.serverAuthContext:Ljakarta/security/auth/message/config/ServerAuthContext;
aload 3
getfield org.apache.catalina.authenticator.AuthenticatorBase$JaspicState.messageInfo:Ljakarta/security/auth/message/MessageInfo;
aconst_null
invokeinterface jakarta.security.auth.message.config.ServerAuthContext.secureResponse:(Ljakarta/security/auth/message/MessageInfo;Ljavax/security/auth/Subject;)Ljakarta/security/auth/message/AuthStatus;
pop
1: aload 1
aload 3
getfield org.apache.catalina.authenticator.AuthenticatorBase$JaspicState.messageInfo:Ljakarta/security/auth/message/MessageInfo;
invokeinterface jakarta.security.auth.message.MessageInfo.getRequestMessage:()Ljava/lang/Object;
checkcast jakarta.servlet.http.HttpServletRequest
invokevirtual org.apache.catalina.connector.Request.setRequest:(Ljakarta/servlet/http/HttpServletRequest;)V
2: aload 2
aload 3
getfield org.apache.catalina.authenticator.AuthenticatorBase$JaspicState.messageInfo:Ljakarta/security/auth/message/MessageInfo;
invokeinterface jakarta.security.auth.message.MessageInfo.getResponseMessage:()Ljava/lang/Object;
checkcast jakarta.servlet.http.HttpServletResponse
invokevirtual org.apache.catalina.connector.Response.setResponse:(Ljakarta/servlet/http/HttpServletResponse;)V
3: goto 6
StackMap locals:
StackMap stack: jakarta.security.auth.message.AuthException
4: astore 4
start local 4 5: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.authenticator.AuthenticatorBase.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "authenticator.jaspicSecureResponseFail"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 4
invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 4 6: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/catalina/authenticator/AuthenticatorBase;
0 7 1 request Lorg/apache/catalina/connector/Request;
0 7 2 response Lorg/apache/catalina/connector/Response;
0 7 3 state Lorg/apache/catalina/authenticator/AuthenticatorBase$JaspicState;
5 6 4 e Ljakarta/security/auth/message/AuthException;
Exception table:
from to target type
0 3 4 Class jakarta.security.auth.message.AuthException
MethodParameters:
Name Flags
request
response
state
private org.apache.catalina.authenticator.AuthenticatorBase$JaspicState getJaspicState(jakarta.security.auth.message.config.AuthConfigProvider, org.apache.catalina.connector.Request, org.apache.catalina.connector.Response, boolean);
descriptor: (Ljakarta/security/auth/message/config/AuthConfigProvider;Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;Z)Lorg/apache/catalina/authenticator/AuthenticatorBase$JaspicState;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new org.apache.catalina.authenticator.AuthenticatorBase$JaspicState
dup
invokespecial org.apache.catalina.authenticator.AuthenticatorBase$JaspicState.<init>:()V
astore 5
start local 5 1: aload 5
2: new org.apache.catalina.authenticator.jaspic.MessageInfoImpl
dup
aload 2
invokevirtual org.apache.catalina.connector.Request.getRequest:()Ljakarta/servlet/http/HttpServletRequest;
aload 3
invokevirtual org.apache.catalina.connector.Response.getResponse:()Ljakarta/servlet/http/HttpServletResponse;
iload 4
invokespecial org.apache.catalina.authenticator.jaspic.MessageInfoImpl.<init>:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;Z)V
3: putfield org.apache.catalina.authenticator.AuthenticatorBase$JaspicState.messageInfo:Ljakarta/security/auth/message/MessageInfo;
4: aload 0
invokevirtual org.apache.catalina.authenticator.AuthenticatorBase.getCallbackHandler:()Ljavax/security/auth/callback/CallbackHandler;
astore 6
start local 6 5: aload 1
6: ldc "HttpServlet"
aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.jaspicAppContextID:Ljava/lang/String;
aload 6
7: invokeinterface jakarta.security.auth.message.config.AuthConfigProvider.getServerAuthConfig:(Ljava/lang/String;Ljava/lang/String;Ljavax/security/auth/callback/CallbackHandler;)Ljakarta/security/auth/message/config/ServerAuthConfig;
astore 7
start local 7 8: aload 7
aload 5
getfield org.apache.catalina.authenticator.AuthenticatorBase$JaspicState.messageInfo:Ljakarta/security/auth/message/MessageInfo;
invokeinterface jakarta.security.auth.message.config.ServerAuthConfig.getAuthContextID:(Ljakarta/security/auth/message/MessageInfo;)Ljava/lang/String;
astore 8
start local 8 9: aload 5
aload 7
aload 8
aconst_null
aconst_null
invokeinterface jakarta.security.auth.message.config.ServerAuthConfig.getAuthContext:(Ljava/lang/String;Ljavax/security/auth/Subject;Ljava/util/Map;)Ljakarta/security/auth/message/config/ServerAuthContext;
putfield org.apache.catalina.authenticator.AuthenticatorBase$JaspicState.serverAuthContext:Ljakarta/security/auth/message/config/ServerAuthContext;
end local 8 end local 7 end local 6 10: goto 15
StackMap locals: org.apache.catalina.authenticator.AuthenticatorBase jakarta.security.auth.message.config.AuthConfigProvider org.apache.catalina.connector.Request org.apache.catalina.connector.Response int org.apache.catalina.authenticator.AuthenticatorBase$JaspicState
StackMap stack: jakarta.security.auth.message.AuthException
11: astore 6
start local 6 12: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.authenticator.AuthenticatorBase.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "authenticator.jaspicServerAuthContextFail"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 6
invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;Ljava/lang/Throwable;)V
13: aload 3
sipush 500
invokevirtual org.apache.catalina.connector.Response.sendError:(I)V
14: aconst_null
areturn
end local 6 15: StackMap locals:
StackMap stack:
aload 5
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 16 0 this Lorg/apache/catalina/authenticator/AuthenticatorBase;
0 16 1 jaspicProvider Ljakarta/security/auth/message/config/AuthConfigProvider;
0 16 2 request Lorg/apache/catalina/connector/Request;
0 16 3 response Lorg/apache/catalina/connector/Response;
0 16 4 authMandatory Z
1 16 5 jaspicState Lorg/apache/catalina/authenticator/AuthenticatorBase$JaspicState;
5 10 6 callbackHandler Ljavax/security/auth/callback/CallbackHandler;
8 10 7 serverAuthConfig Ljakarta/security/auth/message/config/ServerAuthConfig;
9 10 8 authContextID Ljava/lang/String;
12 15 6 e Ljakarta/security/auth/message/AuthException;
Exception table:
from to target type
4 10 11 Class jakarta.security.auth.message.AuthException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
jaspicProvider
request
response
authMandatory
private javax.security.auth.callback.CallbackHandler getCallbackHandler();
descriptor: ()Ljavax/security/auth/callback/CallbackHandler;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.jaspicCallbackHandler:Ljavax/security/auth/callback/CallbackHandler;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: aload 0
invokevirtual org.apache.catalina.authenticator.AuthenticatorBase.createCallbackHandler:()Ljavax/security/auth/callback/CallbackHandler;
astore 1
3: StackMap locals: javax.security.auth.callback.CallbackHandler
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/catalina/authenticator/AuthenticatorBase;
1 4 1 handler Ljavax/security/auth/callback/CallbackHandler;
private javax.security.auth.callback.CallbackHandler createCallbackHandler();
descriptor: ()Ljavax/security/auth/callback/CallbackHandler;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aconst_null
astore 2
start local 2 2: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.jaspicCallbackHandlerClass:Ljava/lang/String;
iconst_1
3: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
4: invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
astore 2
5: goto 7
StackMap locals: org.apache.catalina.authenticator.AuthenticatorBase javax.security.auth.callback.CallbackHandler java.lang.Class
StackMap stack: java.lang.ClassNotFoundException
6: pop
7: StackMap locals:
StackMap stack:
aload 2
ifnonnull 9
8: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.jaspicCallbackHandlerClass:Ljava/lang/String;
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
astore 2
9: StackMap locals:
StackMap stack:
aload 2
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast javax.security.auth.callback.CallbackHandler
astore 1
10: goto 13
StackMap locals:
StackMap stack: java.lang.ReflectiveOperationException
11: astore 3
start local 3 12: new java.lang.SecurityException
dup
aload 3
invokespecial java.lang.SecurityException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 3 13: StackMap locals:
StackMap stack:
aload 1
instanceof org.apache.catalina.Contained
ifeq 15
14: aload 1
checkcast org.apache.catalina.Contained
aload 0
invokevirtual org.apache.catalina.authenticator.AuthenticatorBase.getContainer:()Lorg/apache/catalina/Container;
invokeinterface org.apache.catalina.Contained.setContainer:(Lorg/apache/catalina/Container;)V
15: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield org.apache.catalina.authenticator.AuthenticatorBase.jaspicCallbackHandler:Ljavax/security/auth/callback/CallbackHandler;
16: aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/apache/catalina/authenticator/AuthenticatorBase;
1 17 1 callbackHandler Ljavax/security/auth/callback/CallbackHandler;
2 17 2 clazz Ljava/lang/Class<*>;
12 13 3 e Ljava/lang/ReflectiveOperationException;
Exception table:
from to target type
2 5 6 Class java.lang.ClassNotFoundException
7 10 11 Class java.lang.ReflectiveOperationException
protected abstract boolean doAuthenticate(org.apache.catalina.connector.Request, jakarta.servlet.http.HttpServletResponse);
descriptor: (Lorg/apache/catalina/connector/Request;Ljakarta/servlet/http/HttpServletResponse;)Z
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
request
response
protected boolean isContinuationRequired(org.apache.catalina.connector.Request);
descriptor: (Lorg/apache/catalina/connector/Request;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/authenticator/AuthenticatorBase;
0 1 1 request Lorg/apache/catalina/connector/Request;
MethodParameters:
Name Flags
request
protected java.security.cert.X509Certificate[] getRequestCertificates(org.apache.catalina.connector.Request);
descriptor: (Lorg/apache/catalina/connector/Request;)[Ljava/security/cert/X509Certificate;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ldc "jakarta.servlet.request.X509Certificate"
invokevirtual org.apache.catalina.connector.Request.getAttribute:(Ljava/lang/String;)Ljava/lang/Object;
checkcast java.security.cert.X509Certificate[]
1: astore 2
start local 2 2: aload 2
ifnull 3
aload 2
arraylength
iconst_1
if_icmpge 7
3: StackMap locals: java.security.cert.X509Certificate[]
StackMap stack:
aload 1
invokevirtual org.apache.catalina.connector.Request.getCoyoteRequest:()Lorg/apache/coyote/Request;
getstatic org.apache.coyote.ActionCode.REQ_SSL_CERTIFICATE:Lorg/apache/coyote/ActionCode;
aconst_null
invokevirtual org.apache.coyote.Request.action:(Lorg/apache/coyote/ActionCode;Ljava/lang/Object;)V
4: aload 1
ldc "jakarta.servlet.request.X509Certificate"
invokevirtual org.apache.catalina.connector.Request.getAttribute:(Ljava/lang/String;)Ljava/lang/Object;
checkcast java.security.cert.X509Certificate[]
astore 2
5: goto 7
StackMap locals:
StackMap stack: java.lang.IllegalStateException
6: pop
7: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/apache/catalina/authenticator/AuthenticatorBase;
0 8 1 request Lorg/apache/catalina/connector/Request;
2 8 2 certs [Ljava/security/cert/X509Certificate;
Exception table:
from to target type
3 5 6 Class java.lang.IllegalStateException
Exceptions:
throws java.lang.IllegalStateException
MethodParameters:
Name Flags
request final
protected void associate(java.lang.String, org.apache.catalina.Session);
descriptor: (Ljava/lang/String;Lorg/apache/catalina/Session;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.sso:Lorg/apache/catalina/authenticator/SingleSignOn;
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.sso:Lorg/apache/catalina/authenticator/SingleSignOn;
aload 1
aload 2
invokevirtual org.apache.catalina.authenticator.SingleSignOn.associate:(Ljava/lang/String;Lorg/apache/catalina/Session;)Z
pop
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/catalina/authenticator/AuthenticatorBase;
0 4 1 ssoId Ljava/lang/String;
0 4 2 session Lorg/apache/catalina/Session;
MethodParameters:
Name Flags
ssoId
session
private boolean authenticateJaspic(org.apache.catalina.connector.Request, org.apache.catalina.connector.Response, org.apache.catalina.authenticator.AuthenticatorBase$JaspicState, boolean);
descriptor: (Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;Lorg/apache/catalina/authenticator/AuthenticatorBase$JaspicState;Z)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=14, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
iconst_0
invokevirtual org.apache.catalina.authenticator.AuthenticatorBase.checkForCachedAuthentication:(Lorg/apache/catalina/connector/Request;Ljakarta/servlet/http/HttpServletResponse;Z)Z
istore 5
start local 5 1: new javax.security.auth.Subject
dup
invokespecial javax.security.auth.Subject.<init>:()V
astore 6
start local 6 2: aload 3
getfield org.apache.catalina.authenticator.AuthenticatorBase$JaspicState.serverAuthContext:Ljakarta/security/auth/message/config/ServerAuthContext;
aload 3
getfield org.apache.catalina.authenticator.AuthenticatorBase$JaspicState.messageInfo:Ljakarta/security/auth/message/MessageInfo;
aload 6
aconst_null
invokeinterface jakarta.security.auth.message.config.ServerAuthContext.validateRequest:(Ljakarta/security/auth/message/MessageInfo;Ljavax/security/auth/Subject;Ljavax/security/auth/Subject;)Ljakarta/security/auth/message/AuthStatus;
astore 7
start local 7 3: goto 7
end local 7 StackMap locals: org.apache.catalina.authenticator.AuthenticatorBase org.apache.catalina.connector.Request org.apache.catalina.connector.Response org.apache.catalina.authenticator.AuthenticatorBase$JaspicState int int javax.security.auth.Subject
StackMap stack: jakarta.security.auth.message.AuthException
4: astore 8
start local 8 5: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.authenticator.AuthenticatorBase.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "authenticator.loginFail"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 8
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
6: iconst_0
ireturn
end local 8 start local 7 7: StackMap locals: jakarta.security.auth.message.AuthStatus
StackMap stack:
aload 1
aload 3
getfield org.apache.catalina.authenticator.AuthenticatorBase$JaspicState.messageInfo:Ljakarta/security/auth/message/MessageInfo;
invokeinterface jakarta.security.auth.message.MessageInfo.getRequestMessage:()Ljava/lang/Object;
checkcast jakarta.servlet.http.HttpServletRequest
invokevirtual org.apache.catalina.connector.Request.setRequest:(Ljakarta/servlet/http/HttpServletRequest;)V
8: aload 2
aload 3
getfield org.apache.catalina.authenticator.AuthenticatorBase$JaspicState.messageInfo:Ljakarta/security/auth/message/MessageInfo;
invokeinterface jakarta.security.auth.message.MessageInfo.getResponseMessage:()Ljava/lang/Object;
checkcast jakarta.servlet.http.HttpServletResponse
invokevirtual org.apache.catalina.connector.Response.setResponse:(Ljakarta/servlet/http/HttpServletResponse;)V
9: aload 7
getstatic jakarta.security.auth.message.AuthStatus.SUCCESS:Ljakarta/security/auth/message/AuthStatus;
if_acmpne 38
10: aload 0
aload 6
invokevirtual org.apache.catalina.authenticator.AuthenticatorBase.getPrincipal:(Ljavax/security/auth/Subject;)Lorg/apache/catalina/realm/GenericPrincipal;
astore 8
start local 8 11: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 13
12: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Authenticated user: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
13: StackMap locals: org.apache.catalina.realm.GenericPrincipal
StackMap stack:
aload 8
ifnonnull 18
14: aload 1
aconst_null
invokevirtual org.apache.catalina.connector.Request.setUserPrincipal:(Ljava/security/Principal;)V
15: aload 1
aconst_null
invokevirtual org.apache.catalina.connector.Request.setAuthType:(Ljava/lang/String;)V
16: iload 4
ifeq 36
17: iconst_0
ireturn
18: StackMap locals:
StackMap stack:
iload 5
ifeq 19
aload 8
invokevirtual org.apache.catalina.realm.GenericPrincipal.getUserPrincipal:()Ljava/security/Principal;
aload 1
invokevirtual org.apache.catalina.connector.Request.getUserPrincipal:()Ljava/security/Principal;
invokeinterface java.security.Principal.equals:(Ljava/lang/Object;)Z
ifne 36
19: StackMap locals:
StackMap stack:
aconst_null
astore 9
start local 9 20: ldc "JASPIC"
astore 10
start local 10 21: aload 3
getfield org.apache.catalina.authenticator.AuthenticatorBase$JaspicState.messageInfo:Ljakarta/security/auth/message/MessageInfo;
invokeinterface jakarta.security.auth.message.MessageInfo.getMap:()Ljava/util/Map;
astore 11
start local 11 22: aload 11
ldc "jakarta.servlet.http.registerSession"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 12
start local 12 23: aload 12
ifnull 25
24: aload 12
invokestatic java.lang.Boolean.valueOf:(Ljava/lang/String;)Ljava/lang/Boolean;
astore 9
25: StackMap locals: org.apache.catalina.authenticator.AuthenticatorBase org.apache.catalina.connector.Request org.apache.catalina.connector.Response org.apache.catalina.authenticator.AuthenticatorBase$JaspicState int int javax.security.auth.Subject jakarta.security.auth.message.AuthStatus org.apache.catalina.realm.GenericPrincipal java.lang.Boolean java.lang.String java.util.Map java.lang.String
StackMap stack:
aload 11
ldc "jakarta.servlet.http.authType"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 13
start local 13 26: aload 13
ifnull 28
27: aload 13
astore 10
28: StackMap locals: java.lang.String
StackMap stack:
aload 9
ifnull 35
29: aload 0
aload 1
aload 2
aload 8
aload 10
aconst_null
aconst_null
30: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.alwaysUseSession:Z
ifne 31
aload 9
invokevirtual java.lang.Boolean.booleanValue:()Z
ifne 31
iconst_0
goto 32
StackMap locals: org.apache.catalina.authenticator.AuthenticatorBase org.apache.catalina.connector.Request org.apache.catalina.connector.Response org.apache.catalina.authenticator.AuthenticatorBase$JaspicState int int javax.security.auth.Subject jakarta.security.auth.message.AuthStatus org.apache.catalina.realm.GenericPrincipal java.lang.Boolean java.lang.String java.util.Map java.lang.String java.lang.String
StackMap stack: org.apache.catalina.authenticator.AuthenticatorBase org.apache.catalina.connector.Request org.apache.catalina.connector.Response org.apache.catalina.realm.GenericPrincipal java.lang.String null null
31: iconst_1
StackMap locals: org.apache.catalina.authenticator.AuthenticatorBase org.apache.catalina.connector.Request org.apache.catalina.connector.Response org.apache.catalina.authenticator.AuthenticatorBase$JaspicState int int javax.security.auth.Subject jakarta.security.auth.message.AuthStatus org.apache.catalina.realm.GenericPrincipal java.lang.Boolean java.lang.String java.util.Map java.lang.String java.lang.String
StackMap stack: org.apache.catalina.authenticator.AuthenticatorBase org.apache.catalina.connector.Request org.apache.catalina.connector.Response org.apache.catalina.realm.GenericPrincipal java.lang.String null null int
32: aload 9
invokevirtual java.lang.Boolean.booleanValue:()Z
33: invokevirtual org.apache.catalina.authenticator.AuthenticatorBase.register:(Lorg/apache/catalina/connector/Request;Ljakarta/servlet/http/HttpServletResponse;Ljava/security/Principal;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZ)V
34: goto 36
35: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 8
aload 10
aconst_null
aconst_null
invokevirtual org.apache.catalina.authenticator.AuthenticatorBase.register:(Lorg/apache/catalina/connector/Request;Ljakarta/servlet/http/HttpServletResponse;Ljava/security/Principal;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
end local 13 end local 12 end local 11 end local 10 end local 9 36: StackMap locals: org.apache.catalina.authenticator.AuthenticatorBase org.apache.catalina.connector.Request org.apache.catalina.connector.Response org.apache.catalina.authenticator.AuthenticatorBase$JaspicState int int javax.security.auth.Subject jakarta.security.auth.message.AuthStatus org.apache.catalina.realm.GenericPrincipal
StackMap stack:
aload 1
ldc "org.apache.catalina.authenticator.jaspic.SUBJECT"
aload 6
invokevirtual org.apache.catalina.connector.Request.setNote:(Ljava/lang/String;Ljava/lang/Object;)V
37: iconst_1
ireturn
end local 8 38: StackMap locals:
StackMap stack:
iconst_0
ireturn
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 39 0 this Lorg/apache/catalina/authenticator/AuthenticatorBase;
0 39 1 request Lorg/apache/catalina/connector/Request;
0 39 2 response Lorg/apache/catalina/connector/Response;
0 39 3 state Lorg/apache/catalina/authenticator/AuthenticatorBase$JaspicState;
0 39 4 requirePrincipal Z
1 39 5 cachedAuth Z
2 39 6 client Ljavax/security/auth/Subject;
3 4 7 authStatus Ljakarta/security/auth/message/AuthStatus;
7 39 7 authStatus Ljakarta/security/auth/message/AuthStatus;
5 7 8 e Ljakarta/security/auth/message/AuthException;
11 38 8 principal Lorg/apache/catalina/realm/GenericPrincipal;
20 36 9 register Ljava/lang/Boolean;
21 36 10 authType Ljava/lang/String;
22 36 11 map Ljava/util/Map;
23 36 12 registerValue Ljava/lang/String;
26 36 13 authTypeValue Ljava/lang/String;
Exception table:
from to target type
2 3 4 Class jakarta.security.auth.message.AuthException
MethodParameters:
Name Flags
request
response
state
requirePrincipal
private org.apache.catalina.realm.GenericPrincipal getPrincipal(javax.security.auth.Subject);
descriptor: (Ljavax/security/auth/Subject;)Lorg/apache/catalina/realm/GenericPrincipal;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 1
ldc Lorg/apache/catalina/realm/GenericPrincipal;
invokevirtual javax.security.auth.Subject.getPrivateCredentials:(Ljava/lang/Class;)Ljava/util/Set;
astore 2
start local 2 3: aload 2
invokeinterface java.util.Set.isEmpty:()Z
ifeq 5
4: aconst_null
areturn
5: StackMap locals: java.util.Set
StackMap stack:
aload 2
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.catalina.realm.GenericPrincipal
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/catalina/authenticator/AuthenticatorBase;
0 6 1 subject Ljavax/security/auth/Subject;
3 6 2 principals Ljava/util/Set<Lorg/apache/catalina/realm/GenericPrincipal;>;
MethodParameters:
Name Flags
subject
protected boolean checkForCachedAuthentication(org.apache.catalina.connector.Request, jakarta.servlet.http.HttpServletResponse, boolean);
descriptor: (Lorg/apache/catalina/connector/Request;Ljakarta/servlet/http/HttpServletResponse;Z)Z
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: aload 1
invokevirtual org.apache.catalina.connector.Request.getUserPrincipal:()Ljava/security/Principal;
astore 4
start local 4 1: aload 1
ldc "org.apache.catalina.request.SSOID"
invokevirtual org.apache.catalina.connector.Request.getNote:(Ljava/lang/String;)Ljava/lang/Object;
checkcast java.lang.String
astore 5
start local 5 2: aload 4
ifnull 8
3: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 5
4: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.authenticator.AuthenticatorBase.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "authenticator.check.found"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 4
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
5: StackMap locals: java.security.Principal java.lang.String
StackMap stack:
aload 5
ifnull 7
6: aload 0
aload 5
aload 1
iconst_1
invokevirtual org.apache.catalina.connector.Request.getSessionInternal:(Z)Lorg/apache/catalina/Session;
invokevirtual org.apache.catalina.authenticator.AuthenticatorBase.associate:(Ljava/lang/String;Lorg/apache/catalina/Session;)V
7: StackMap locals:
StackMap stack:
iconst_1
ireturn
8: StackMap locals:
StackMap stack:
iload 3
ifeq 13
aload 5
ifnull 13
9: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 11
10: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.authenticator.AuthenticatorBase.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "authenticator.check.sso"
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.debug:(Ljava/lang/Object;)V
11: StackMap locals:
StackMap stack:
aload 0
aload 5
aload 1
invokevirtual org.apache.catalina.authenticator.AuthenticatorBase.reauthenticateFromSSO:(Ljava/lang/String;Lorg/apache/catalina/connector/Request;)Z
ifeq 13
12: iconst_1
ireturn
13: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.apache.catalina.connector.Request.getCoyoteRequest:()Lorg/apache/coyote/Request;
invokevirtual org.apache.coyote.Request.getRemoteUserNeedsAuthorization:()Z
ifeq 28
14: aload 1
invokevirtual org.apache.catalina.connector.Request.getCoyoteRequest:()Lorg/apache/coyote/Request;
invokevirtual org.apache.coyote.Request.getRemoteUser:()Lorg/apache/tomcat/util/buf/MessageBytes;
invokevirtual org.apache.tomcat.util.buf.MessageBytes.toString:()Ljava/lang/String;
astore 6
start local 6 15: aload 6
ifnull 28
16: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 18
17: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.authenticator.AuthenticatorBase.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "authenticator.check.authorize"
iconst_1
anewarray java.lang.Object
dup
iconst_0
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
18: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.context:Lorg/apache/catalina/Context;
invokeinterface org.apache.catalina.Context.getRealm:()Lorg/apache/catalina/Realm;
aload 6
invokeinterface org.apache.catalina.Realm.authenticate:(Ljava/lang/String;)Ljava/security/Principal;
astore 7
start local 7 19: aload 7
ifnonnull 23
20: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 22
21: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.authenticator.AuthenticatorBase.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "authenticator.check.authorizeFail"
iconst_1
anewarray java.lang.Object
dup
iconst_0
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
22: StackMap locals: java.security.Principal
StackMap stack:
new org.apache.catalina.realm.GenericPrincipal
dup
aload 6
invokespecial org.apache.catalina.realm.GenericPrincipal.<init>:(Ljava/lang/String;)V
astore 7
23: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.apache.catalina.connector.Request.getAuthType:()Ljava/lang/String;
astore 8
start local 8 24: aload 8
ifnull 25
aload 8
invokevirtual java.lang.String.length:()I
ifne 26
25: StackMap locals: java.lang.String
StackMap stack:
aload 0
invokevirtual org.apache.catalina.authenticator.AuthenticatorBase.getAuthMethod:()Ljava/lang/String;
astore 8
26: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 7
aload 8
aload 6
aconst_null
invokevirtual org.apache.catalina.authenticator.AuthenticatorBase.register:(Lorg/apache/catalina/connector/Request;Ljakarta/servlet/http/HttpServletResponse;Ljava/security/Principal;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
27: iconst_1
ireturn
end local 8 end local 7 end local 6 28: StackMap locals:
StackMap stack:
iconst_0
ireturn
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 29 0 this Lorg/apache/catalina/authenticator/AuthenticatorBase;
0 29 1 request Lorg/apache/catalina/connector/Request;
0 29 2 response Ljakarta/servlet/http/HttpServletResponse;
0 29 3 useSSO Z
1 29 4 principal Ljava/security/Principal;
2 29 5 ssoId Ljava/lang/String;
15 28 6 username Ljava/lang/String;
19 28 7 authorized Ljava/security/Principal;
24 28 8 authType Ljava/lang/String;
MethodParameters:
Name Flags
request
response
useSSO
protected boolean reauthenticateFromSSO(java.lang.String, org.apache.catalina.connector.Request);
descriptor: (Ljava/lang/String;Lorg/apache/catalina/connector/Request;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.sso:Lorg/apache/catalina/authenticator/SingleSignOn;
ifnull 1
aload 1
ifnonnull 2
1: StackMap locals:
StackMap stack:
iconst_0
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 3: aload 0
invokevirtual org.apache.catalina.authenticator.AuthenticatorBase.getContainer:()Lorg/apache/catalina/Container;
astore 4
start local 4 4: aload 4
ifnull 8
5: aload 4
invokeinterface org.apache.catalina.Container.getRealm:()Lorg/apache/catalina/Realm;
astore 5
start local 5 6: aload 5
ifnull 8
7: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.sso:Lorg/apache/catalina/authenticator/SingleSignOn;
aload 1
aload 5
aload 2
invokevirtual org.apache.catalina.authenticator.SingleSignOn.reauthenticate:(Ljava/lang/String;Lorg/apache/catalina/Realm;Lorg/apache/catalina/connector/Request;)Z
istore 3
end local 5 8: StackMap locals: int org.apache.catalina.Container
StackMap stack:
iload 3
ifeq 15
9: aload 0
aload 1
aload 2
iconst_1
invokevirtual org.apache.catalina.connector.Request.getSessionInternal:(Z)Lorg/apache/catalina/Session;
invokevirtual org.apache.catalina.authenticator.AuthenticatorBase.associate:(Ljava/lang/String;Lorg/apache/catalina/Session;)V
10: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 15
11: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Reauthenticated cached principal '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
12: aload 2
invokevirtual org.apache.catalina.connector.Request.getUserPrincipal:()Ljava/security/Principal;
invokeinterface java.security.Principal.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
13: ldc "' with auth type '"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual org.apache.catalina.connector.Request.getAuthType:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
14: invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
15: StackMap locals:
StackMap stack:
iload 3
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/apache/catalina/authenticator/AuthenticatorBase;
0 16 1 ssoId Ljava/lang/String;
0 16 2 request Lorg/apache/catalina/connector/Request;
3 16 3 reauthenticated Z
4 16 4 parent Lorg/apache/catalina/Container;
6 8 5 realm Lorg/apache/catalina/Realm;
MethodParameters:
Name Flags
ssoId
request
public void register(org.apache.catalina.connector.Request, jakarta.servlet.http.HttpServletResponse, java.security.Principal, java.lang.String, java.lang.String, java.lang.String);
descriptor: (Lorg/apache/catalina/connector/Request;Ljakarta/servlet/http/HttpServletResponse;Ljava/security/Principal;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
aload 1
aload 2
aload 3
aload 4
aload 5
aload 6
aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.alwaysUseSession:Z
aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.cache:Z
invokevirtual org.apache.catalina.authenticator.AuthenticatorBase.register:(Lorg/apache/catalina/connector/Request;Ljakarta/servlet/http/HttpServletResponse;Ljava/security/Principal;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZ)V
1: return
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 2 0 this Lorg/apache/catalina/authenticator/AuthenticatorBase;
0 2 1 request Lorg/apache/catalina/connector/Request;
0 2 2 response Ljakarta/servlet/http/HttpServletResponse;
0 2 3 principal Ljava/security/Principal;
0 2 4 authType Ljava/lang/String;
0 2 5 username Ljava/lang/String;
0 2 6 password Ljava/lang/String;
MethodParameters:
Name Flags
request
response
principal
authType
username
password
protected void register(org.apache.catalina.connector.Request, jakarta.servlet.http.HttpServletResponse, java.security.Principal, java.lang.String, java.lang.String, java.lang.String, boolean, boolean);
descriptor: (Lorg/apache/catalina/connector/Request;Ljakarta/servlet/http/HttpServletResponse;Ljava/security/Principal;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZ)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=13, 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
getfield org.apache.catalina.authenticator.AuthenticatorBase.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 5
1: aload 3
ifnonnull 2
ldc "none"
goto 3
StackMap locals:
StackMap stack:
2: aload 3
invokeinterface java.security.Principal.getName:()Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
3: astore 9
start local 9 4: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Authenticated '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "' with type '"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "'"
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
end local 9 5: StackMap locals:
StackMap stack:
aload 1
aload 4
invokevirtual org.apache.catalina.connector.Request.setAuthType:(Ljava/lang/String;)V
6: aload 1
aload 3
invokevirtual org.apache.catalina.connector.Request.setUserPrincipal:(Ljava/security/Principal;)V
7: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.sendAuthInfoResponseHeaders:Z
ifeq 11
8: getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
aload 1
ldc "org.apache.tomcat.request.forwarded"
invokevirtual org.apache.catalina.connector.Request.getAttribute:(Ljava/lang/String;)Ljava/lang/Object;
invokevirtual java.lang.Boolean.equals:(Ljava/lang/Object;)Z
ifeq 11
9: aload 2
ldc "remote-user"
aload 1
invokevirtual org.apache.catalina.connector.Request.getRemoteUser:()Ljava/lang/String;
invokeinterface jakarta.servlet.http.HttpServletResponse.setHeader:(Ljava/lang/String;Ljava/lang/String;)V
10: aload 2
ldc "auth-type"
aload 1
invokevirtual org.apache.catalina.connector.Request.getAuthType:()Ljava/lang/String;
invokeinterface jakarta.servlet.http.HttpServletResponse.setHeader:(Ljava/lang/String;Ljava/lang/String;)V
11: StackMap locals:
StackMap stack:
aload 1
iconst_0
invokevirtual org.apache.catalina.connector.Request.getSessionInternal:(Z)Lorg/apache/catalina/Session;
astore 9
start local 9 12: aload 9
ifnull 18
13: aload 0
invokevirtual org.apache.catalina.authenticator.AuthenticatorBase.getChangeSessionIdOnAuthentication:()Z
ifeq 20
aload 3
ifnull 20
14: aload 0
aload 1
aload 9
invokevirtual org.apache.catalina.authenticator.AuthenticatorBase.changeSessionID:(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/Session;)Ljava/lang/String;
astore 10
start local 10 15: aload 9
ldc "org.apache.catalina.authenticator.SESSION_ID"
invokeinterface org.apache.catalina.Session.getNote:(Ljava/lang/String;)Ljava/lang/Object;
ifnull 20
16: aload 9
ldc "org.apache.catalina.authenticator.SESSION_ID"
aload 10
invokeinterface org.apache.catalina.Session.setNote:(Ljava/lang/String;Ljava/lang/Object;)V
end local 10 17: goto 20
StackMap locals: org.apache.catalina.Session
StackMap stack:
18: iload 7
ifeq 20
19: aload 1
iconst_1
invokevirtual org.apache.catalina.connector.Request.getSessionInternal:(Z)Lorg/apache/catalina/Session;
astore 9
20: StackMap locals:
StackMap stack:
aload 9
ifnull 23
iload 8
ifeq 23
21: aload 9
aload 4
invokeinterface org.apache.catalina.Session.setAuthType:(Ljava/lang/String;)V
22: aload 9
aload 3
invokeinterface org.apache.catalina.Session.setPrincipal:(Ljava/security/Principal;)V
23: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.sso:Lorg/apache/catalina/authenticator/SingleSignOn;
ifnonnull 25
24: return
25: StackMap locals:
StackMap stack:
aload 1
ldc "org.apache.catalina.request.SSOID"
invokevirtual org.apache.catalina.connector.Request.getNote:(Ljava/lang/String;)Ljava/lang/Object;
checkcast java.lang.String
astore 10
start local 10 26: aload 10
ifnonnull 42
27: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.sessionIdGenerator:Lorg/apache/catalina/util/SessionIdGeneratorBase;
invokevirtual org.apache.catalina.util.SessionIdGeneratorBase.generateSessionId:()Ljava/lang/String;
astore 10
28: new jakarta.servlet.http.Cookie
dup
aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.sso:Lorg/apache/catalina/authenticator/SingleSignOn;
invokevirtual org.apache.catalina.authenticator.SingleSignOn.getCookieName:()Ljava/lang/String;
aload 10
invokespecial jakarta.servlet.http.Cookie.<init>:(Ljava/lang/String;Ljava/lang/String;)V
astore 11
start local 11 29: aload 11
iconst_m1
invokevirtual jakarta.servlet.http.Cookie.setMaxAge:(I)V
30: aload 11
ldc "/"
invokevirtual jakarta.servlet.http.Cookie.setPath:(Ljava/lang/String;)V
31: aload 11
aload 1
invokevirtual org.apache.catalina.connector.Request.isSecure:()Z
invokevirtual jakarta.servlet.http.Cookie.setSecure:(Z)V
32: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.sso:Lorg/apache/catalina/authenticator/SingleSignOn;
invokevirtual org.apache.catalina.authenticator.SingleSignOn.getCookieDomain:()Ljava/lang/String;
astore 12
start local 12 33: aload 12
ifnull 35
34: aload 11
aload 12
invokevirtual jakarta.servlet.http.Cookie.setDomain:(Ljava/lang/String;)V
35: StackMap locals: java.lang.String jakarta.servlet.http.Cookie java.lang.String
StackMap stack:
aload 1
invokevirtual org.apache.catalina.connector.Request.getServletContext:()Ljakarta/servlet/ServletContext;
invokeinterface jakarta.servlet.ServletContext.getSessionCookieConfig:()Ljakarta/servlet/SessionCookieConfig;
invokeinterface jakarta.servlet.SessionCookieConfig.isHttpOnly:()Z
ifne 37
36: aload 1
invokevirtual org.apache.catalina.connector.Request.getContext:()Lorg/apache/catalina/Context;
invokeinterface org.apache.catalina.Context.getUseHttpOnly:()Z
ifeq 38
37: StackMap locals:
StackMap stack:
aload 11
iconst_1
invokevirtual jakarta.servlet.http.Cookie.setHttpOnly:(Z)V
38: StackMap locals:
StackMap stack:
aload 2
aload 11
invokeinterface jakarta.servlet.http.HttpServletResponse.addCookie:(Ljakarta/servlet/http/Cookie;)V
39: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.sso:Lorg/apache/catalina/authenticator/SingleSignOn;
aload 10
aload 3
aload 4
aload 5
aload 6
invokevirtual org.apache.catalina.authenticator.SingleSignOn.register:(Ljava/lang/String;Ljava/security/Principal;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
40: aload 1
ldc "org.apache.catalina.request.SSOID"
aload 10
invokevirtual org.apache.catalina.connector.Request.setNote:(Ljava/lang/String;Ljava/lang/Object;)V
end local 12 end local 11 41: goto 47
42: StackMap locals:
StackMap stack:
aload 3
ifnonnull 46
43: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.sso:Lorg/apache/catalina/authenticator/SingleSignOn;
aload 10
invokevirtual org.apache.catalina.authenticator.SingleSignOn.deregister:(Ljava/lang/String;)V
44: aload 1
ldc "org.apache.catalina.request.SSOID"
invokevirtual org.apache.catalina.connector.Request.removeNote:(Ljava/lang/String;)V
45: return
46: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.sso:Lorg/apache/catalina/authenticator/SingleSignOn;
aload 10
aload 3
aload 4
aload 5
aload 6
invokevirtual org.apache.catalina.authenticator.SingleSignOn.update:(Ljava/lang/String;Ljava/security/Principal;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
pop
47: StackMap locals:
StackMap stack:
aload 9
ifnonnull 49
48: aload 1
iconst_1
invokevirtual org.apache.catalina.connector.Request.getSessionInternal:(Z)Lorg/apache/catalina/Session;
astore 9
49: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.sso:Lorg/apache/catalina/authenticator/SingleSignOn;
aload 10
aload 9
invokevirtual org.apache.catalina.authenticator.SingleSignOn.associate:(Ljava/lang/String;Lorg/apache/catalina/Session;)Z
pop
50: return
end local 10 end local 9 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 51 0 this Lorg/apache/catalina/authenticator/AuthenticatorBase;
0 51 1 request Lorg/apache/catalina/connector/Request;
0 51 2 response Ljakarta/servlet/http/HttpServletResponse;
0 51 3 principal Ljava/security/Principal;
0 51 4 authType Ljava/lang/String;
0 51 5 username Ljava/lang/String;
0 51 6 password Ljava/lang/String;
0 51 7 alwaysUseSession Z
0 51 8 cache Z
4 5 9 name Ljava/lang/String;
12 51 9 session Lorg/apache/catalina/Session;
15 17 10 newSessionId Ljava/lang/String;
26 51 10 ssoId Ljava/lang/String;
29 41 11 cookie Ljakarta/servlet/http/Cookie;
33 41 12 ssoDomain Ljava/lang/String;
MethodParameters:
Name Flags
request
response
principal
authType
username
password
alwaysUseSession
cache
protected java.lang.String changeSessionID(org.apache.catalina.connector.Request, org.apache.catalina.Session);
descriptor: (Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/Session;)Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=5, 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.authenticator.AuthenticatorBase.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 3
2: aload 2
invokeinterface org.apache.catalina.Session.getId:()Ljava/lang/String;
astore 3
3: StackMap locals: java.lang.String
StackMap stack:
aload 1
invokevirtual org.apache.catalina.connector.Request.changeSessionId:()Ljava/lang/String;
astore 4
start local 4 4: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 6
5: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.authenticator.AuthenticatorBase.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "authenticator.changeSessionId"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 3
aastore
dup
iconst_1
aload 4
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
6: StackMap locals: java.lang.String
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/catalina/authenticator/AuthenticatorBase;
0 7 1 request Lorg/apache/catalina/connector/Request;
0 7 2 session Lorg/apache/catalina/Session;
1 7 3 oldId Ljava/lang/String;
4 7 4 newId Ljava/lang/String;
MethodParameters:
Name Flags
request
session
public void login(java.lang.String, java.lang.String, org.apache.catalina.connector.Request);
descriptor: (Ljava/lang/String;Ljava/lang/String;Lorg/apache/catalina/connector/Request;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 3
aload 1
aload 2
invokevirtual org.apache.catalina.authenticator.AuthenticatorBase.doLogin:(Lorg/apache/catalina/connector/Request;Ljava/lang/String;Ljava/lang/String;)Ljava/security/Principal;
astore 4
start local 4 1: aload 0
aload 3
aload 3
invokevirtual org.apache.catalina.connector.Request.getResponse:()Lorg/apache/catalina/connector/Response;
aload 4
aload 0
invokevirtual org.apache.catalina.authenticator.AuthenticatorBase.getAuthMethod:()Ljava/lang/String;
aload 1
aload 2
invokevirtual org.apache.catalina.authenticator.AuthenticatorBase.register:(Lorg/apache/catalina/connector/Request;Ljakarta/servlet/http/HttpServletResponse;Ljava/security/Principal;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
2: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/catalina/authenticator/AuthenticatorBase;
0 3 1 username Ljava/lang/String;
0 3 2 password Ljava/lang/String;
0 3 3 request Lorg/apache/catalina/connector/Request;
1 3 4 principal Ljava/security/Principal;
Exceptions:
throws jakarta.servlet.ServletException
MethodParameters:
Name Flags
username
password
request
protected abstract java.lang.String getAuthMethod();
descriptor: ()Ljava/lang/String;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
protected java.security.Principal doLogin(org.apache.catalina.connector.Request, java.lang.String, java.lang.String);
descriptor: (Lorg/apache/catalina/connector/Request;Ljava/lang/String;Ljava/lang/String;)Ljava/security/Principal;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.context:Lorg/apache/catalina/Context;
invokeinterface org.apache.catalina.Context.getRealm:()Lorg/apache/catalina/Realm;
aload 2
aload 3
invokeinterface org.apache.catalina.Realm.authenticate:(Ljava/lang/String;Ljava/lang/String;)Ljava/security/Principal;
astore 4
start local 4 1: aload 4
ifnonnull 3
2: new jakarta.servlet.ServletException
dup
getstatic org.apache.catalina.authenticator.AuthenticatorBase.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "authenticator.loginFail"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial jakarta.servlet.ServletException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: java.security.Principal
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/catalina/authenticator/AuthenticatorBase;
0 4 1 request Lorg/apache/catalina/connector/Request;
0 4 2 username Ljava/lang/String;
0 4 3 password Ljava/lang/String;
1 4 4 p Ljava/security/Principal;
Exceptions:
throws jakarta.servlet.ServletException
MethodParameters:
Name Flags
request
username
password
public void logout(org.apache.catalina.connector.Request);
descriptor: (Lorg/apache/catalina/connector/Request;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=8, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.apache.catalina.authenticator.AuthenticatorBase.getJaspicProvider:()Ljakarta/security/auth/message/config/AuthConfigProvider;
astore 2
start local 2 1: aload 2
ifnull 14
2: new org.apache.catalina.authenticator.jaspic.MessageInfoImpl
dup
aload 1
aload 1
invokevirtual org.apache.catalina.connector.Request.getResponse:()Lorg/apache/catalina/connector/Response;
iconst_1
invokespecial org.apache.catalina.authenticator.jaspic.MessageInfoImpl.<init>:(Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;Z)V
astore 3
start local 3 3: aload 1
ldc "org.apache.catalina.authenticator.jaspic.SUBJECT"
invokevirtual org.apache.catalina.connector.Request.getNote:(Ljava/lang/String;)Ljava/lang/Object;
checkcast javax.security.auth.Subject
astore 4
start local 4 4: aload 4
ifnull 14
5: aload 2
ldc "HttpServlet"
6: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.jaspicAppContextID:Ljava/lang/String;
aload 0
invokevirtual org.apache.catalina.authenticator.AuthenticatorBase.getCallbackHandler:()Ljavax/security/auth/callback/CallbackHandler;
7: invokeinterface jakarta.security.auth.message.config.AuthConfigProvider.getServerAuthConfig:(Ljava/lang/String;Ljava/lang/String;Ljavax/security/auth/callback/CallbackHandler;)Ljakarta/security/auth/message/config/ServerAuthConfig;
astore 6
start local 6 8: aload 6
aload 3
invokeinterface jakarta.security.auth.message.config.ServerAuthConfig.getAuthContextID:(Ljakarta/security/auth/message/MessageInfo;)Ljava/lang/String;
astore 7
start local 7 9: aload 6
aload 7
aconst_null
aconst_null
invokeinterface jakarta.security.auth.message.config.ServerAuthConfig.getAuthContext:(Ljava/lang/String;Ljavax/security/auth/Subject;Ljava/util/Map;)Ljakarta/security/auth/message/config/ServerAuthContext;
astore 5
start local 5 10: aload 5
aload 3
aload 4
invokeinterface jakarta.security.auth.message.config.ServerAuthContext.cleanSubject:(Ljakarta/security/auth/message/MessageInfo;Ljavax/security/auth/Subject;)V
end local 7 end local 6 11: goto 14
end local 5 StackMap locals: org.apache.catalina.authenticator.AuthenticatorBase org.apache.catalina.connector.Request jakarta.security.auth.message.config.AuthConfigProvider jakarta.security.auth.message.MessageInfo javax.security.auth.Subject
StackMap stack: jakarta.security.auth.message.AuthException
12: astore 6
start local 6 13: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.authenticator.AuthenticatorBase.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "authenticator.jaspicCleanSubjectFail"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 6
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 6 end local 4 end local 3 14: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.apache.catalina.connector.Request.getPrincipal:()Ljava/security/Principal;
astore 3
start local 3 15: aload 3
instanceof org.apache.catalina.TomcatPrincipal
ifeq 21
16: aload 3
checkcast org.apache.catalina.TomcatPrincipal
invokeinterface org.apache.catalina.TomcatPrincipal.logout:()V
17: goto 21
StackMap locals: org.apache.catalina.authenticator.AuthenticatorBase org.apache.catalina.connector.Request jakarta.security.auth.message.config.AuthConfigProvider java.security.Principal
StackMap stack: java.lang.Throwable
18: astore 4
start local 4 19: aload 4
invokestatic org.apache.tomcat.util.ExceptionUtils.handleThrowable:(Ljava/lang/Throwable;)V
20: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.authenticator.AuthenticatorBase.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "authenticator.tomcatPrincipalLogoutFail"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 4
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 4 21: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 1
invokevirtual org.apache.catalina.connector.Request.getResponse:()Lorg/apache/catalina/connector/Response;
aconst_null
aconst_null
aconst_null
aconst_null
invokevirtual org.apache.catalina.authenticator.AuthenticatorBase.register:(Lorg/apache/catalina/connector/Request;Ljakarta/servlet/http/HttpServletResponse;Ljava/security/Principal;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
22: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lorg/apache/catalina/authenticator/AuthenticatorBase;
0 23 1 request Lorg/apache/catalina/connector/Request;
1 23 2 provider Ljakarta/security/auth/message/config/AuthConfigProvider;
3 14 3 messageInfo Ljakarta/security/auth/message/MessageInfo;
4 14 4 client Ljavax/security/auth/Subject;
10 12 5 serverAuthContext Ljakarta/security/auth/message/config/ServerAuthContext;
8 11 6 serverAuthConfig Ljakarta/security/auth/message/config/ServerAuthConfig;
9 11 7 authContextID Ljava/lang/String;
13 14 6 e Ljakarta/security/auth/message/AuthException;
15 23 3 p Ljava/security/Principal;
19 21 4 t Ljava/lang/Throwable;
Exception table:
from to target type
5 11 12 Class jakarta.security.auth.message.AuthException
16 17 18 Class java.lang.Throwable
MethodParameters:
Name Flags
request
protected synchronized void startInternal();
descriptor: ()V
flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
Code:
stack=4, locals=8, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.context:Lorg/apache/catalina/Context;
invokeinterface org.apache.catalina.Context.getServletContext:()Ljakarta/servlet/ServletContext;
astore 1
start local 1 1: aload 0
new java.lang.StringBuilder
dup
aload 1
invokeinterface jakarta.servlet.ServletContext.getVirtualServerName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
2: aload 1
invokeinterface jakarta.servlet.ServletContext.getContextPath:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: putfield org.apache.catalina.authenticator.AuthenticatorBase.jaspicAppContextID:Ljava/lang/String;
4: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.context:Lorg/apache/catalina/Context;
invokeinterface org.apache.catalina.Context.getParent:()Lorg/apache/catalina/Container;
astore 2
start local 2 5: goto 16
6: StackMap locals: jakarta.servlet.ServletContext org.apache.catalina.Container
StackMap stack:
aload 2
invokeinterface org.apache.catalina.Container.getPipeline:()Lorg/apache/catalina/Pipeline;
invokeinterface org.apache.catalina.Pipeline.getValves:()[Lorg/apache/catalina/Valve;
astore 3
start local 3 7: aload 3
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 13
StackMap locals: org.apache.catalina.authenticator.AuthenticatorBase jakarta.servlet.ServletContext org.apache.catalina.Container org.apache.catalina.Valve[] top int int org.apache.catalina.Valve[]
StackMap stack:
8: aload 7
iload 5
aaload
astore 4
start local 4 9: aload 4
instanceof org.apache.catalina.authenticator.SingleSignOn
ifeq 12
10: aload 0
aload 4
checkcast org.apache.catalina.authenticator.SingleSignOn
putfield org.apache.catalina.authenticator.AuthenticatorBase.sso:Lorg/apache/catalina/authenticator/SingleSignOn;
11: goto 14
end local 4 12: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
13: iload 5
iload 6
if_icmplt 8
14: StackMap locals: org.apache.catalina.authenticator.AuthenticatorBase jakarta.servlet.ServletContext org.apache.catalina.Container org.apache.catalina.Valve[]
StackMap stack:
aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.sso:Lorg/apache/catalina/authenticator/SingleSignOn;
ifnonnull 16
15: aload 2
invokeinterface org.apache.catalina.Container.getParent:()Lorg/apache/catalina/Container;
astore 2
end local 3 16: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.sso:Lorg/apache/catalina/authenticator/SingleSignOn;
ifnonnull 17
aload 2
ifnonnull 6
17: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 22
18: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.sso:Lorg/apache/catalina/authenticator/SingleSignOn;
ifnull 21
19: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Found SingleSignOn Valve at "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.sso:Lorg/apache/catalina/authenticator/SingleSignOn;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
20: goto 22
21: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.log:Lorg/apache/juli/logging/Log;
ldc "No SingleSignOn Valve is present"
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
22: StackMap locals:
StackMap stack:
aload 0
new org.apache.catalina.util.StandardSessionIdGenerator
dup
invokespecial org.apache.catalina.util.StandardSessionIdGenerator.<init>:()V
putfield org.apache.catalina.authenticator.AuthenticatorBase.sessionIdGenerator:Lorg/apache/catalina/util/SessionIdGeneratorBase;
23: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.sessionIdGenerator:Lorg/apache/catalina/util/SessionIdGeneratorBase;
aload 0
invokevirtual org.apache.catalina.authenticator.AuthenticatorBase.getSecureRandomAlgorithm:()Ljava/lang/String;
invokevirtual org.apache.catalina.util.SessionIdGeneratorBase.setSecureRandomAlgorithm:(Ljava/lang/String;)V
24: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.sessionIdGenerator:Lorg/apache/catalina/util/SessionIdGeneratorBase;
aload 0
invokevirtual org.apache.catalina.authenticator.AuthenticatorBase.getSecureRandomClass:()Ljava/lang/String;
invokevirtual org.apache.catalina.util.SessionIdGeneratorBase.setSecureRandomClass:(Ljava/lang/String;)V
25: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.sessionIdGenerator:Lorg/apache/catalina/util/SessionIdGeneratorBase;
aload 0
invokevirtual org.apache.catalina.authenticator.AuthenticatorBase.getSecureRandomProvider:()Ljava/lang/String;
invokevirtual org.apache.catalina.util.SessionIdGeneratorBase.setSecureRandomProvider:(Ljava/lang/String;)V
26: aload 0
invokespecial org.apache.catalina.valves.ValveBase.startInternal:()V
27: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lorg/apache/catalina/authenticator/AuthenticatorBase;
1 28 1 servletContext Ljakarta/servlet/ServletContext;
5 28 2 parent Lorg/apache/catalina/Container;
7 16 3 valves [Lorg/apache/catalina/Valve;
9 12 4 valve Lorg/apache/catalina/Valve;
Exceptions:
throws org.apache.catalina.LifecycleException
protected synchronized void stopInternal();
descriptor: ()V
flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.apache.catalina.valves.ValveBase.stopInternal:()V
1: aload 0
aconst_null
putfield org.apache.catalina.authenticator.AuthenticatorBase.sso:Lorg/apache/catalina/authenticator/SingleSignOn;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/catalina/authenticator/AuthenticatorBase;
Exceptions:
throws org.apache.catalina.LifecycleException
private jakarta.security.auth.message.config.AuthConfigProvider getJaspicProvider();
descriptor: ()Ljakarta/security/auth/message/config/AuthConfigProvider;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.jaspicProvider:Ljava/util/Optional;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: aload 0
invokevirtual org.apache.catalina.authenticator.AuthenticatorBase.findJaspicProvider:()Ljava/util/Optional;
astore 1
3: StackMap locals: java.util.Optional
StackMap stack:
aload 1
aconst_null
invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast jakarta.security.auth.message.config.AuthConfigProvider
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/catalina/authenticator/AuthenticatorBase;
1 4 1 provider Ljava/util/Optional<Ljakarta/security/auth/message/config/AuthConfigProvider;>;
private java.util.Optional<jakarta.security.auth.message.config.AuthConfigProvider> findJaspicProvider();
descriptor: ()Ljava/util/Optional;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=1
start local 0 0: invokestatic jakarta.security.auth.message.config.AuthConfigFactory.getFactory:()Ljakarta/security/auth/message/config/AuthConfigFactory;
astore 1
start local 1 1: aload 1
ifnonnull 4
2: invokestatic java.util.Optional.empty:()Ljava/util/Optional;
astore 2
start local 2 3: goto 6
end local 2 4: StackMap locals: jakarta.security.auth.message.config.AuthConfigFactory
StackMap stack:
aload 1
ldc "HttpServlet"
aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.jaspicAppContextID:Ljava/lang/String;
aload 0
invokevirtual jakarta.security.auth.message.config.AuthConfigFactory.getConfigProvider:(Ljava/lang/String;Ljava/lang/String;Ljakarta/security/auth/message/config/RegistrationListener;)Ljakarta/security/auth/message/config/AuthConfigProvider;
5: invokestatic java.util.Optional.ofNullable:(Ljava/lang/Object;)Ljava/util/Optional;
astore 2
start local 2 6: StackMap locals: java.util.Optional
StackMap stack:
aload 0
aload 2
putfield org.apache.catalina.authenticator.AuthenticatorBase.jaspicProvider:Ljava/util/Optional;
7: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/apache/catalina/authenticator/AuthenticatorBase;
1 8 1 factory Ljakarta/security/auth/message/config/AuthConfigFactory;
3 4 2 provider Ljava/util/Optional<Ljakarta/security/auth/message/config/AuthConfigProvider;>;
6 8 2 provider Ljava/util/Optional<Ljakarta/security/auth/message/config/AuthConfigProvider;>;
Signature: ()Ljava/util/Optional<Ljakarta/security/auth/message/config/AuthConfigProvider;>;
public void notify(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.apache.catalina.authenticator.AuthenticatorBase.findJaspicProvider:()Ljava/util/Optional;
pop
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/authenticator/AuthenticatorBase;
0 2 1 layer Ljava/lang/String;
0 2 2 appContext Ljava/lang/String;
MethodParameters:
Name Flags
layer
appContext
}
SourceFile: "AuthenticatorBase.java"
NestMembers:
org.apache.catalina.authenticator.AuthenticatorBase$AllowCorsPreflight org.apache.catalina.authenticator.AuthenticatorBase$JaspicState
InnerClasses:
protected final AllowCorsPreflight = org.apache.catalina.authenticator.AuthenticatorBase$AllowCorsPreflight of org.apache.catalina.authenticator.AuthenticatorBase
private JaspicState = org.apache.catalina.authenticator.AuthenticatorBase$JaspicState of org.apache.catalina.authenticator.AuthenticatorBase