public abstract class org.apache.catalina.authenticator.AuthenticatorBase extends org.apache.catalina.valves.ValveBase implements org.apache.catalina.Authenticator, javax.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 volatile java.lang.String jaspicAppContextID;
descriptor: Ljava/lang/String;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile java.util.Optional<javax.security.auth.message.config.AuthConfigProvider> jaspicProvider;
descriptor: Ljava/util/Optional;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
Signature: Ljava/util/Optional<Ljavax/security/auth/message/config/AuthConfigProvider;>;
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
aconst_null
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
aconst_null
putfield org.apache.catalina.authenticator.AuthenticatorBase.jaspicAppContextID:Ljava/lang/String;
16: aload 0
aconst_null
putfield org.apache.catalina.authenticator.AuthenticatorBase.jaspicProvider:Ljava/util/Optional;
17: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/apache/catalina/authenticator/AuthenticatorBase;
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:()Ljavax/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[] javax.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
ifeq 84
72: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 74
73: 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
74: StackMap locals: org.apache.catalina.authenticator.AuthenticatorBase$JaspicState
StackMap stack:
aload 6
ifnull 78
75: aload 0
aload 6
aload 1
aload 2
iload 7
invokevirtual org.apache.catalina.authenticator.AuthenticatorBase.getJaspicState:(Ljavax/security/auth/message/config/AuthConfigProvider;Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;Z)Lorg/apache/catalina/authenticator/AuthenticatorBase$JaspicState;
astore 8
76: aload 8
ifnonnull 78
77: return
78: StackMap locals:
StackMap stack:
aload 6
ifnonnull 79
aload 0
aload 1
aload 2
invokevirtual org.apache.catalina.authenticator.AuthenticatorBase.doAuthenticate:(Lorg/apache/catalina/connector/Request;Ljavax/servlet/http/HttpServletResponse;)Z
ifeq 81
79: StackMap locals:
StackMap stack:
aload 6
ifnull 84
80: 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 84
81: 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 83
82: 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
83: StackMap locals:
StackMap stack:
return
84: StackMap locals:
StackMap stack:
aload 5
ifnull 91
85: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 87
86: 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
87: 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 91
88: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 90
89: 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
90: StackMap locals:
StackMap stack:
return
91: 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 93
92: 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
93: 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
94: aload 6
ifnull 96
95: 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
96: 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 97 0 this Lorg/apache/catalina/authenticator/AuthenticatorBase;
0 97 1 request Lorg/apache/catalina/connector/Request;
0 97 2 response Lorg/apache/catalina/connector/Response;
6 17 3 principal Ljava/security/Principal;
8 17 4 session Lorg/apache/catalina/Session;
18 97 3 authRequired Z
19 97 4 realm Lorg/apache/catalina/Realm;
20 97 5 constraints [Lorg/apache/tomcat/util/descriptor/web/SecurityConstraint;
21 97 6 jaspicProvider Ljavax/security/auth/message/config/AuthConfigProvider;
44 97 7 hasAuthConstraint Z
47 58 8 i I
54 56 9 roles [Ljava/lang/String;
67 70 8 certs [Ljava/security/cert/X509Certificate;
71 97 8 jaspicState Lorg/apache/catalina/authenticator/AuthenticatorBase$JaspicState;
Exceptions:
throws java.io.IOException, javax.servlet.ServletException
MethodParameters:
Name Flags
request
response
public boolean authenticate(org.apache.catalina.connector.Request, javax.servlet.http.HttpServletResponse);
descriptor: (Lorg/apache/catalina/connector/Request;Ljavax/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:()Ljavax/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;Ljavax/servlet/http/HttpServletResponse;)Z
ireturn
3: StackMap locals: javax.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:(Ljavax/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 Ljavax/servlet/http/HttpServletResponse;
1 10 3 jaspicProvider Ljavax/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:Ljavax/security/auth/message/config/ServerAuthContext;
aload 3
getfield org.apache.catalina.authenticator.AuthenticatorBase$JaspicState.messageInfo:Ljavax/security/auth/message/MessageInfo;
aconst_null
invokeinterface javax.security.auth.message.config.ServerAuthContext.secureResponse:(Ljavax/security/auth/message/MessageInfo;Ljavax/security/auth/Subject;)Ljavax/security/auth/message/AuthStatus;
pop
1: aload 1
aload 3
getfield org.apache.catalina.authenticator.AuthenticatorBase$JaspicState.messageInfo:Ljavax/security/auth/message/MessageInfo;
invokeinterface javax.security.auth.message.MessageInfo.getRequestMessage:()Ljava/lang/Object;
checkcast javax.servlet.http.HttpServletRequest
invokevirtual org.apache.catalina.connector.Request.setRequest:(Ljavax/servlet/http/HttpServletRequest;)V
2: aload 2
aload 3
getfield org.apache.catalina.authenticator.AuthenticatorBase$JaspicState.messageInfo:Ljavax/security/auth/message/MessageInfo;
invokeinterface javax.security.auth.message.MessageInfo.getResponseMessage:()Ljava/lang/Object;
checkcast javax.servlet.http.HttpServletResponse
invokevirtual org.apache.catalina.connector.Response.setResponse:(Ljavax/servlet/http/HttpServletResponse;)V
3: goto 6
StackMap locals:
StackMap stack: javax.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 Ljavax/security/auth/message/AuthException;
Exception table:
from to target type
0 3 4 Class javax.security.auth.message.AuthException
MethodParameters:
Name Flags
request
response
state
private org.apache.catalina.authenticator.AuthenticatorBase$JaspicState getJaspicState(javax.security.auth.message.config.AuthConfigProvider, org.apache.catalina.connector.Request, org.apache.catalina.connector.Response, boolean);
descriptor: (Ljavax/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:()Ljavax/servlet/http/HttpServletRequest;
aload 3
invokevirtual org.apache.catalina.connector.Response.getResponse:()Ljavax/servlet/http/HttpServletResponse;
iload 4
invokespecial org.apache.catalina.authenticator.jaspic.MessageInfoImpl.<init>:(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Z)V
3: putfield org.apache.catalina.authenticator.AuthenticatorBase$JaspicState.messageInfo:Ljavax/security/auth/message/MessageInfo;
4: aload 0
invokevirtual org.apache.catalina.authenticator.AuthenticatorBase.createCallbackHandler:()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 javax.security.auth.message.config.AuthConfigProvider.getServerAuthConfig:(Ljava/lang/String;Ljava/lang/String;Ljavax/security/auth/callback/CallbackHandler;)Ljavax/security/auth/message/config/ServerAuthConfig;
astore 7
start local 7 8: aload 7
aload 5
getfield org.apache.catalina.authenticator.AuthenticatorBase$JaspicState.messageInfo:Ljavax/security/auth/message/MessageInfo;
invokeinterface javax.security.auth.message.config.ServerAuthConfig.getAuthContextID:(Ljavax/security/auth/message/MessageInfo;)Ljava/lang/String;
astore 8
start local 8 9: aload 5
aload 7
aload 8
aconst_null
aconst_null
invokeinterface javax.security.auth.message.config.ServerAuthConfig.getAuthContext:(Ljava/lang/String;Ljavax/security/auth/Subject;Ljava/util/Map;)Ljavax/security/auth/message/config/ServerAuthContext;
putfield org.apache.catalina.authenticator.AuthenticatorBase$JaspicState.serverAuthContext:Ljavax/security/auth/message/config/ServerAuthContext;
end local 8 end local 7 end local 6 10: goto 15
StackMap locals: org.apache.catalina.authenticator.AuthenticatorBase javax.security.auth.message.config.AuthConfigProvider org.apache.catalina.connector.Request org.apache.catalina.connector.Response int org.apache.catalina.authenticator.AuthenticatorBase$JaspicState
StackMap stack: javax.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 Ljavax/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 Ljavax/security/auth/message/config/ServerAuthConfig;
9 10 8 authContextID Ljava/lang/String;
12 15 6 e Ljavax/security/auth/message/AuthException;
Exception table:
from to target type
4 10 11 Class javax.security.auth.message.AuthException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
jaspicProvider
request
response
authMandatory
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: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.jaspicCallbackHandlerClass:Ljava/lang/String;
ifnonnull 4
2: invokestatic org.apache.catalina.authenticator.jaspic.CallbackHandlerImpl.getInstance:()Ljavax/security/auth/callback/CallbackHandler;
astore 1
3: goto 16
4: StackMap locals: javax.security.auth.callback.CallbackHandler
StackMap stack:
aconst_null
astore 2
start local 2 5: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.jaspicCallbackHandlerClass:Ljava/lang/String;
iconst_1
6: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
7: invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
astore 2
8: goto 10
StackMap locals: org.apache.catalina.authenticator.AuthenticatorBase javax.security.auth.callback.CallbackHandler java.lang.Class
StackMap stack: java.lang.ClassNotFoundException
9: pop
10: StackMap locals:
StackMap stack:
aload 2
ifnonnull 12
11: 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
12: 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
13: goto 16
StackMap locals:
StackMap stack: java.lang.ReflectiveOperationException
14: astore 3
start local 3 15: new java.lang.SecurityException
dup
aload 3
invokespecial java.lang.SecurityException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 3 end local 2 16: StackMap locals:
StackMap stack:
aload 1
areturn
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;
5 16 2 clazz Ljava/lang/Class<*>;
15 16 3 e Ljava/lang/ReflectiveOperationException;
Exception table:
from to target type
5 8 9 Class java.lang.ClassNotFoundException
10 13 14 Class java.lang.ReflectiveOperationException
protected abstract boolean doAuthenticate(org.apache.catalina.connector.Request, javax.servlet.http.HttpServletResponse);
descriptor: (Lorg/apache/catalina/connector/Request;Ljavax/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 "javax.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 "javax.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=10, 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;Ljavax/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:Ljavax/security/auth/message/config/ServerAuthContext;
aload 3
getfield org.apache.catalina.authenticator.AuthenticatorBase$JaspicState.messageInfo:Ljavax/security/auth/message/MessageInfo;
aload 6
aconst_null
invokeinterface javax.security.auth.message.config.ServerAuthContext.validateRequest:(Ljavax/security/auth/message/MessageInfo;Ljavax/security/auth/Subject;Ljavax/security/auth/Subject;)Ljavax/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: javax.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: javax.security.auth.message.AuthStatus
StackMap stack:
aload 1
aload 3
getfield org.apache.catalina.authenticator.AuthenticatorBase$JaspicState.messageInfo:Ljavax/security/auth/message/MessageInfo;
invokeinterface javax.security.auth.message.MessageInfo.getRequestMessage:()Ljava/lang/Object;
checkcast javax.servlet.http.HttpServletRequest
invokevirtual org.apache.catalina.connector.Request.setRequest:(Ljavax/servlet/http/HttpServletRequest;)V
8: aload 2
aload 3
getfield org.apache.catalina.authenticator.AuthenticatorBase$JaspicState.messageInfo:Ljavax/security/auth/message/MessageInfo;
invokeinterface javax.security.auth.message.MessageInfo.getResponseMessage:()Ljava/lang/Object;
checkcast javax.servlet.http.HttpServletResponse
invokevirtual org.apache.catalina.connector.Response.setResponse:(Ljavax/servlet/http/HttpServletResponse;)V
9: aload 7
getstatic javax.security.auth.message.AuthStatus.SUCCESS:Ljavax/security/auth/message/AuthStatus;
if_acmpne 27
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 25
17: iconst_0
ireturn
18: StackMap locals:
StackMap stack:
iload 5
ifeq 20
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 25
20: StackMap locals:
StackMap stack:
aload 3
getfield org.apache.catalina.authenticator.AuthenticatorBase$JaspicState.messageInfo:Ljavax/security/auth/message/MessageInfo;
invokeinterface javax.security.auth.message.MessageInfo.getMap:()Ljava/util/Map;
astore 9
start local 9 21: aload 9
ifnull 24
aload 9
ldc "javax.servlet.http.registerSession"
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 24
22: aload 0
aload 1
aload 2
aload 8
ldc "JASPIC"
aconst_null
aconst_null
iconst_1
iconst_1
invokevirtual org.apache.catalina.authenticator.AuthenticatorBase.register:(Lorg/apache/catalina/connector/Request;Ljavax/servlet/http/HttpServletResponse;Ljava/security/Principal;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZ)V
23: goto 25
24: StackMap locals: java.util.Map
StackMap stack:
aload 0
aload 1
aload 2
aload 8
ldc "JASPIC"
aconst_null
aconst_null
invokevirtual org.apache.catalina.authenticator.AuthenticatorBase.register:(Lorg/apache/catalina/connector/Request;Ljavax/servlet/http/HttpServletResponse;Ljava/security/Principal;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
end local 9 25: StackMap locals:
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
26: iconst_1
ireturn
end local 8 27: 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 28 0 this Lorg/apache/catalina/authenticator/AuthenticatorBase;
0 28 1 request Lorg/apache/catalina/connector/Request;
0 28 2 response Lorg/apache/catalina/connector/Response;
0 28 3 state Lorg/apache/catalina/authenticator/AuthenticatorBase$JaspicState;
0 28 4 requirePrincipal Z
1 28 5 cachedAuth Z
2 28 6 client Ljavax/security/auth/Subject;
3 4 7 authStatus Ljavax/security/auth/message/AuthStatus;
7 28 7 authStatus Ljavax/security/auth/message/AuthStatus;
5 7 8 e Ljavax/security/auth/message/AuthException;
11 27 8 principal Lorg/apache/catalina/realm/GenericPrincipal;
21 25 9 map Ljava/util/Map;
Exception table:
from to target type
2 3 4 Class javax.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, javax.servlet.http.HttpServletResponse, boolean);
descriptor: (Lorg/apache/catalina/connector/Request;Ljavax/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
aconst_null
aconst_null
invokespecial org.apache.catalina.realm.GenericPrincipal.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)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;Ljavax/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 Ljavax/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, javax.servlet.http.HttpServletResponse, java.security.Principal, java.lang.String, java.lang.String, java.lang.String);
descriptor: (Lorg/apache/catalina/connector/Request;Ljavax/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;Ljavax/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 Ljavax/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
private void register(org.apache.catalina.connector.Request, javax.servlet.http.HttpServletResponse, java.security.Principal, java.lang.String, java.lang.String, java.lang.String, boolean, boolean);
descriptor: (Lorg/apache/catalina/connector/Request;Ljavax/servlet/http/HttpServletResponse;Ljava/security/Principal;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZ)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, 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 javax.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 javax.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 25
13: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.changeSessionIdOnAuthentication:Z
ifeq 27
aload 3
ifnull 27
14: aconst_null
astore 10
start local 10 15: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 17
16: aload 9
invokeinterface org.apache.catalina.Session.getId:()Ljava/lang/String;
astore 10
17: StackMap locals: org.apache.catalina.Session java.lang.String
StackMap stack:
aload 1
invokevirtual org.apache.catalina.connector.Request.getContext:()Lorg/apache/catalina/Context;
invokeinterface org.apache.catalina.Context.getManager:()Lorg/apache/catalina/Manager;
astore 11
start local 11 18: aload 11
aload 9
invokeinterface org.apache.catalina.Manager.changeSessionId:(Lorg/apache/catalina/Session;)V
19: aload 1
aload 9
invokeinterface org.apache.catalina.Session.getId:()Ljava/lang/String;
invokevirtual org.apache.catalina.connector.Request.changeSessionId:(Ljava/lang/String;)V
20: aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 27
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.changeSessionId"
iconst_2
anewarray java.lang.Object
dup
iconst_0
22: aload 10
aastore
dup
iconst_1
aload 9
invokeinterface org.apache.catalina.Session.getId:()Ljava/lang/String;
aastore
23: invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
end local 11 end local 10 24: goto 27
StackMap locals:
StackMap stack:
25: iload 7
ifeq 27
26: aload 1
iconst_1
invokevirtual org.apache.catalina.connector.Request.getSessionInternal:(Z)Lorg/apache/catalina/Session;
astore 9
27: StackMap locals:
StackMap stack:
iload 8
ifeq 39
28: aload 9
ifnull 39
29: aload 9
aload 4
invokeinterface org.apache.catalina.Session.setAuthType:(Ljava/lang/String;)V
30: aload 9
aload 3
invokeinterface org.apache.catalina.Session.setPrincipal:(Ljava/security/Principal;)V
31: aload 5
ifnull 34
32: aload 9
ldc "org.apache.catalina.session.USERNAME"
aload 5
invokeinterface org.apache.catalina.Session.setNote:(Ljava/lang/String;Ljava/lang/Object;)V
33: goto 35
34: StackMap locals:
StackMap stack:
aload 9
ldc "org.apache.catalina.session.USERNAME"
invokeinterface org.apache.catalina.Session.removeNote:(Ljava/lang/String;)V
35: StackMap locals:
StackMap stack:
aload 6
ifnull 38
36: aload 9
ldc "org.apache.catalina.session.PASSWORD"
aload 6
invokeinterface org.apache.catalina.Session.setNote:(Ljava/lang/String;Ljava/lang/Object;)V
37: goto 39
38: StackMap locals:
StackMap stack:
aload 9
ldc "org.apache.catalina.session.PASSWORD"
invokeinterface org.apache.catalina.Session.removeNote:(Ljava/lang/String;)V
39: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.authenticator.AuthenticatorBase.sso:Lorg/apache/catalina/authenticator/SingleSignOn;
ifnonnull 41
40: return
41: 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 42: aload 10
ifnonnull 58
43: 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
44: new javax.servlet.http.Cookie
dup
getstatic org.apache.catalina.authenticator.Constants.SINGLE_SIGN_ON_COOKIE:Ljava/lang/String;
aload 10
invokespecial javax.servlet.http.Cookie.<init>:(Ljava/lang/String;Ljava/lang/String;)V
astore 11
start local 11 45: aload 11
iconst_m1
invokevirtual javax.servlet.http.Cookie.setMaxAge:(I)V
46: aload 11
ldc "/"
invokevirtual javax.servlet.http.Cookie.setPath:(Ljava/lang/String;)V
47: aload 11
aload 1
invokevirtual org.apache.catalina.connector.Request.isSecure:()Z
invokevirtual javax.servlet.http.Cookie.setSecure:(Z)V
48: 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 49: aload 12
ifnull 51
50: aload 11
aload 12
invokevirtual javax.servlet.http.Cookie.setDomain:(Ljava/lang/String;)V
51: StackMap locals: java.lang.String javax.servlet.http.Cookie java.lang.String
StackMap stack:
aload 1
invokevirtual org.apache.catalina.connector.Request.getServletContext:()Ljavax/servlet/ServletContext;
invokeinterface javax.servlet.ServletContext.getSessionCookieConfig:()Ljavax/servlet/SessionCookieConfig;
invokeinterface javax.servlet.SessionCookieConfig.isHttpOnly:()Z
ifne 53
52: aload 1
invokevirtual org.apache.catalina.connector.Request.getContext:()Lorg/apache/catalina/Context;
invokeinterface org.apache.catalina.Context.getUseHttpOnly:()Z
ifeq 54
53: StackMap locals:
StackMap stack:
aload 11
iconst_1
invokevirtual javax.servlet.http.Cookie.setHttpOnly:(Z)V
54: StackMap locals:
StackMap stack:
aload 2
aload 11
invokeinterface javax.servlet.http.HttpServletResponse.addCookie:(Ljavax/servlet/http/Cookie;)V
55: 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
56: 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 57: goto 63
58: StackMap locals:
StackMap stack:
aload 3
ifnonnull 62
59: 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
60: aload 1
ldc "org.apache.catalina.request.SSOID"
invokevirtual org.apache.catalina.connector.Request.removeNote:(Ljava/lang/String;)V
61: return
62: 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
63: StackMap locals:
StackMap stack:
aload 9
ifnonnull 65
64: aload 1
iconst_1
invokevirtual org.apache.catalina.connector.Request.getSessionInternal:(Z)Lorg/apache/catalina/Session;
astore 9
65: 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
66: 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 67 0 this Lorg/apache/catalina/authenticator/AuthenticatorBase;
0 67 1 request Lorg/apache/catalina/connector/Request;
0 67 2 response Ljavax/servlet/http/HttpServletResponse;
0 67 3 principal Ljava/security/Principal;
0 67 4 authType Ljava/lang/String;
0 67 5 username Ljava/lang/String;
0 67 6 password Ljava/lang/String;
0 67 7 alwaysUseSession Z
0 67 8 cache Z
4 5 9 name Ljava/lang/String;
12 67 9 session Lorg/apache/catalina/Session;
15 24 10 oldId Ljava/lang/String;
18 24 11 manager Lorg/apache/catalina/Manager;
42 67 10 ssoId Ljava/lang/String;
45 57 11 cookie Ljavax/servlet/http/Cookie;
49 57 12 ssoDomain Ljava/lang/String;
MethodParameters:
Name Flags
request
response
principal
authType
username
password
alwaysUseSession
cache
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;Ljavax/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 javax.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 javax.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 javax.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 javax.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:()Ljavax/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>:(Ljavax/servlet/http/HttpServletRequest;Ljavax/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;
invokestatic org.apache.catalina.authenticator.jaspic.CallbackHandlerImpl.getInstance:()Ljavax/security/auth/callback/CallbackHandler;
7: invokeinterface javax.security.auth.message.config.AuthConfigProvider.getServerAuthConfig:(Ljava/lang/String;Ljava/lang/String;Ljavax/security/auth/callback/CallbackHandler;)Ljavax/security/auth/message/config/ServerAuthConfig;
astore 6
start local 6 8: aload 6
aload 3
invokeinterface javax.security.auth.message.config.ServerAuthConfig.getAuthContextID:(Ljavax/security/auth/message/MessageInfo;)Ljava/lang/String;
astore 7
start local 7 9: aload 6
aload 7
aconst_null
aconst_null
invokeinterface javax.security.auth.message.config.ServerAuthConfig.getAuthContext:(Ljava/lang/String;Ljavax/security/auth/Subject;Ljava/util/Map;)Ljavax/security/auth/message/config/ServerAuthContext;
astore 5
start local 5 10: aload 5
aload 3
aload 4
invokeinterface javax.security.auth.message.config.ServerAuthContext.cleanSubject:(Ljavax/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 javax.security.auth.message.config.AuthConfigProvider javax.security.auth.message.MessageInfo javax.security.auth.Subject
StackMap stack: javax.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 javax.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;Ljavax/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 Ljavax/security/auth/message/config/AuthConfigProvider;
3 14 3 messageInfo Ljavax/security/auth/message/MessageInfo;
4 14 4 client Ljavax/security/auth/Subject;
10 12 5 serverAuthContext Ljavax/security/auth/message/config/ServerAuthContext;
8 11 6 serverAuthConfig Ljavax/security/auth/message/config/ServerAuthConfig;
9 11 7 authContextID Ljava/lang/String;
13 14 6 e Ljavax/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 javax.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=5, 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:()Ljavax/servlet/ServletContext;
astore 1
start local 1 1: aload 0
new java.lang.StringBuilder
dup
aload 1
invokeinterface javax.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 javax.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: javax.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: iconst_0
istore 4
start local 4 8: goto 13
9: StackMap locals: org.apache.catalina.Valve[] int
StackMap stack:
aload 3
iload 4
aaload
instanceof org.apache.catalina.authenticator.SingleSignOn
ifeq 12
10: aload 0
aload 3
iload 4
aaload
checkcast org.apache.catalina.authenticator.SingleSignOn
putfield org.apache.catalina.authenticator.AuthenticatorBase.sso:Lorg/apache/catalina/authenticator/SingleSignOn;
11: goto 14
12: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
13: iload 4
aload 3
arraylength
if_icmplt 9
end local 4 14: StackMap locals:
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 Ljavax/servlet/ServletContext;
5 28 2 parent Lorg/apache/catalina/Container;
7 16 3 valves [Lorg/apache/catalina/Valve;
8 14 4 i I
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 javax.security.auth.message.config.AuthConfigProvider getJaspicProvider();
descriptor: ()Ljavax/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 javax.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<Ljavax/security/auth/message/config/AuthConfigProvider;>;
private java.util.Optional<javax.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 javax.security.auth.message.config.AuthConfigFactory.getFactory:()Ljavax/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: javax.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 javax.security.auth.message.config.AuthConfigFactory.getConfigProvider:(Ljava/lang/String;Ljava/lang/String;Ljavax/security/auth/message/config/RegistrationListener;)Ljavax/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 Ljavax/security/auth/message/config/AuthConfigFactory;
3 4 2 provider Ljava/util/Optional<Ljavax/security/auth/message/config/AuthConfigProvider;>;
6 8 2 provider Ljava/util/Optional<Ljavax/security/auth/message/config/AuthConfigProvider;>;
Signature: ()Ljava/util/Optional<Ljavax/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$JaspicState
InnerClasses:
private JaspicState = org.apache.catalina.authenticator.AuthenticatorBase$JaspicState of org.apache.catalina.authenticator.AuthenticatorBase