public class org.apache.catalina.authenticator.BasicAuthenticator extends org.apache.catalina.authenticator.AuthenticatorBase
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.catalina.authenticator.BasicAuthenticator
super_class: org.apache.catalina.authenticator.AuthenticatorBase
{
private final org.apache.juli.logging.Log log;
descriptor: Lorg/apache/juli/logging/Log;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.nio.charset.Charset charset;
descriptor: Ljava/nio/charset/Charset;
flags: (0x0002) ACC_PRIVATE
private java.lang.String charsetString;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private boolean trimCredentials;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.apache.catalina.authenticator.AuthenticatorBase.<init>:()V
1: aload 0
ldc Lorg/apache/catalina/authenticator/BasicAuthenticator;
invokestatic org.apache.juli.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/juli/logging/Log;
putfield org.apache.catalina.authenticator.BasicAuthenticator.log:Lorg/apache/juli/logging/Log;
2: aload 0
getstatic java.nio.charset.StandardCharsets.ISO_8859_1:Ljava/nio/charset/Charset;
putfield org.apache.catalina.authenticator.BasicAuthenticator.charset:Ljava/nio/charset/Charset;
3: aload 0
aconst_null
putfield org.apache.catalina.authenticator.BasicAuthenticator.charsetString:Ljava/lang/String;
4: aload 0
iconst_1
putfield org.apache.catalina.authenticator.BasicAuthenticator.trimCredentials:Z
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/catalina/authenticator/BasicAuthenticator;
public java.lang.String getCharset();
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.BasicAuthenticator.charsetString:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/authenticator/BasicAuthenticator;
public void setCharset(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 1
aload 1
invokevirtual java.lang.String.isEmpty:()Z
ifeq 3
1: StackMap locals:
StackMap stack:
aload 0
getstatic java.nio.charset.StandardCharsets.ISO_8859_1:Ljava/nio/charset/Charset;
putfield org.apache.catalina.authenticator.BasicAuthenticator.charset:Ljava/nio/charset/Charset;
2: goto 7
StackMap locals:
StackMap stack:
3: ldc "UTF-8"
aload 1
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 6
4: aload 0
getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
putfield org.apache.catalina.authenticator.BasicAuthenticator.charset:Ljava/nio/charset/Charset;
5: goto 7
6: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
getstatic org.apache.catalina.authenticator.BasicAuthenticator.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "basicAuthenticator.invalidCharset"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield org.apache.catalina.authenticator.BasicAuthenticator.charsetString:Ljava/lang/String;
8: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/apache/catalina/authenticator/BasicAuthenticator;
0 9 1 charsetString Ljava/lang/String;
MethodParameters:
Name Flags
charsetString
public boolean getTrimCredentials();
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.BasicAuthenticator.trimCredentials:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/authenticator/BasicAuthenticator;
public void setTrimCredentials(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.BasicAuthenticator.trimCredentials:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/authenticator/BasicAuthenticator;
0 2 1 trimCredentials Z
MethodParameters:
Name Flags
trimCredentials
protected boolean doAuthenticate(org.apache.catalina.connector.Request, jakarta.servlet.http.HttpServletResponse);
descriptor: (Lorg/apache/catalina/connector/Request;Ljakarta/servlet/http/HttpServletResponse;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
iconst_1
invokevirtual org.apache.catalina.authenticator.BasicAuthenticator.checkForCachedAuthentication:(Lorg/apache/catalina/connector/Request;Ljakarta/servlet/http/HttpServletResponse;Z)Z
ifeq 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
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;
3: ldc "authorization"
invokevirtual org.apache.tomcat.util.http.MimeHeaders.getValue:(Ljava/lang/String;)Lorg/apache/tomcat/util/buf/MessageBytes;
4: astore 3
start local 3 5: aload 3
ifnull 21
6: aload 3
invokevirtual org.apache.tomcat.util.buf.MessageBytes.toBytes:()V
7: aload 3
invokevirtual org.apache.tomcat.util.buf.MessageBytes.getByteChunk:()Lorg/apache/tomcat/util/buf/ByteChunk;
astore 4
start local 4 8: aconst_null
astore 5
start local 5 9: new org.apache.catalina.authenticator.BasicAuthenticator$BasicCredentials
dup
aload 4
aload 0
getfield org.apache.catalina.authenticator.BasicAuthenticator.charset:Ljava/nio/charset/Charset;
aload 0
invokevirtual org.apache.catalina.authenticator.BasicAuthenticator.getTrimCredentials:()Z
invokespecial org.apache.catalina.authenticator.BasicAuthenticator$BasicCredentials.<init>:(Lorg/apache/tomcat/util/buf/ByteChunk;Ljava/nio/charset/Charset;Z)V
astore 5
10: aload 5
invokevirtual org.apache.catalina.authenticator.BasicAuthenticator$BasicCredentials.getUsername:()Ljava/lang/String;
astore 6
start local 6 11: aload 5
invokevirtual org.apache.catalina.authenticator.BasicAuthenticator$BasicCredentials.getPassword:()Ljava/lang/String;
astore 7
start local 7 12: aload 0
getfield org.apache.catalina.authenticator.BasicAuthenticator.context:Lorg/apache/catalina/Context;
invokeinterface org.apache.catalina.Context.getRealm:()Lorg/apache/catalina/Realm;
aload 6
aload 7
invokeinterface org.apache.catalina.Realm.authenticate:(Ljava/lang/String;Ljava/lang/String;)Ljava/security/Principal;
astore 8
start local 8 13: aload 8
ifnull 21
14: aload 0
aload 1
aload 2
aload 8
15: ldc "BASIC"
aload 6
aload 7
16: invokevirtual org.apache.catalina.authenticator.BasicAuthenticator.register:(Lorg/apache/catalina/connector/Request;Ljakarta/servlet/http/HttpServletResponse;Ljava/security/Principal;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
17: iconst_1
ireturn
end local 8 end local 7 end local 6 18: StackMap locals: org.apache.catalina.authenticator.BasicAuthenticator org.apache.catalina.connector.Request jakarta.servlet.http.HttpServletResponse org.apache.tomcat.util.buf.MessageBytes org.apache.tomcat.util.buf.ByteChunk org.apache.catalina.authenticator.BasicAuthenticator$BasicCredentials
StackMap stack: java.lang.IllegalArgumentException
astore 6
start local 6 19: aload 0
getfield org.apache.catalina.authenticator.BasicAuthenticator.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 21
20: aload 0
getfield org.apache.catalina.authenticator.BasicAuthenticator.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Invalid Authorization"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.IllegalArgumentException.getMessage:()Ljava/lang/String;
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 6 end local 5 end local 4 21: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
bipush 16
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 4
start local 4 22: aload 4
ldc "Basic realm=\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
23: aload 4
aload 0
getfield org.apache.catalina.authenticator.BasicAuthenticator.context:Lorg/apache/catalina/Context;
invokestatic org.apache.catalina.authenticator.BasicAuthenticator.getRealmName:(Lorg/apache/catalina/Context;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
24: aload 4
bipush 34
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
25: aload 0
getfield org.apache.catalina.authenticator.BasicAuthenticator.charsetString:Ljava/lang/String;
ifnull 28
aload 0
getfield org.apache.catalina.authenticator.BasicAuthenticator.charsetString:Ljava/lang/String;
invokevirtual java.lang.String.isEmpty:()Z
ifne 28
26: aload 4
ldc ", charset="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
27: aload 4
aload 0
getfield org.apache.catalina.authenticator.BasicAuthenticator.charsetString:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
28: StackMap locals: java.lang.StringBuilder
StackMap stack:
aload 2
ldc "WWW-Authenticate"
aload 4
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface jakarta.servlet.http.HttpServletResponse.setHeader:(Ljava/lang/String;Ljava/lang/String;)V
29: aload 2
sipush 401
invokeinterface jakarta.servlet.http.HttpServletResponse.sendError:(I)V
30: iconst_0
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lorg/apache/catalina/authenticator/BasicAuthenticator;
0 31 1 request Lorg/apache/catalina/connector/Request;
0 31 2 response Ljakarta/servlet/http/HttpServletResponse;
5 31 3 authorization Lorg/apache/tomcat/util/buf/MessageBytes;
8 21 4 authorizationBC Lorg/apache/tomcat/util/buf/ByteChunk;
9 21 5 credentials Lorg/apache/catalina/authenticator/BasicAuthenticator$BasicCredentials;
11 18 6 username Ljava/lang/String;
12 18 7 password Ljava/lang/String;
13 18 8 principal Ljava/security/Principal;
19 21 6 iae Ljava/lang/IllegalArgumentException;
22 31 4 value Ljava/lang/StringBuilder;
Exception table:
from to target type
9 17 18 Class java.lang.IllegalArgumentException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
request
response
protected java.lang.String getAuthMethod();
descriptor: ()Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc "BASIC"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/authenticator/BasicAuthenticator;
}
SourceFile: "BasicAuthenticator.java"
NestMembers:
org.apache.catalina.authenticator.BasicAuthenticator$BasicCredentials
InnerClasses:
public BasicCredentials = org.apache.catalina.authenticator.BasicAuthenticator$BasicCredentials of org.apache.catalina.authenticator.BasicAuthenticator