public class org.apache.isis.viewer.restfulobjects.viewer.webmodule.auth.AuthenticationStrategyBasicAuth extends org.apache.isis.viewer.restfulobjects.viewer.webmodule.auth.AuthenticationStrategyAbstract
{
public static final java.lang.String HEADER_AUTHORIZATION;
public static final java.lang.String BASIC_AUTH_PREFIX;
private static java.util.regex.Pattern USER_AND_PASSWORD_REGEX;
public void <init>()
{
org.apache.isis.viewer.restfulobjects.viewer.webmodule.auth.AuthenticationStrategyBasicAuth v;
v := @this: org.apache.isis.viewer.restfulobjects.viewer.webmodule.auth.AuthenticationStrategyBasicAuth;
specialinvoke v.<org.apache.isis.viewer.restfulobjects.viewer.webmodule.auth.AuthenticationStrategyAbstract: void <init>()>();
return;
}
public org.apache.isis.applib.services.iactnlayer.InteractionContext lookupValid(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
{
javax.servlet.http.HttpServletResponse v;
org.apache.isis.applib.services.iactnlayer.InteractionContext v;
org.apache.isis.core.security.authentication.manager.AuthenticationManager v;
org.apache.isis.viewer.restfulobjects.viewer.webmodule.auth.AuthenticationStrategyBasicAuth v;
javax.servlet.http.HttpServletRequest v;
java.util.regex.Matcher v;
java.lang.Boolean v;
java.lang.String v, v, v, v;
java.util.regex.Pattern v;
org.apache.isis.core.security.authentication.AuthenticationRequestPassword v;
boolean v;
v := @this: org.apache.isis.viewer.restfulobjects.viewer.webmodule.auth.AuthenticationStrategyBasicAuth;
v := @parameter: javax.servlet.http.HttpServletRequest;
v := @parameter: javax.servlet.http.HttpServletResponse;
v = <java.lang.Boolean: java.lang.Boolean FALSE>;
interfaceinvoke v.<javax.servlet.http.HttpServletRequest: void setAttribute(java.lang.String,java.lang.Object)>("org.apache.shiro.subject.support.DefaultSubjectContext.SESSION_CREATION_ENABLED", v);
v = specialinvoke v.<org.apache.isis.viewer.restfulobjects.viewer.webmodule.auth.AuthenticationStrategyBasicAuth: java.lang.String getBasicAuthDigest(javax.servlet.http.HttpServletRequest)>(v);
if v != null goto label;
return null;
label:
v = virtualinvoke v.<org.apache.isis.viewer.restfulobjects.viewer.webmodule.auth.AuthenticationStrategyBasicAuth: java.lang.String unencoded(java.lang.String)>(v);
v = <org.apache.isis.viewer.restfulobjects.viewer.webmodule.auth.AuthenticationStrategyBasicAuth: java.util.regex.Pattern USER_AND_PASSWORD_REGEX>;
v = virtualinvoke v.<java.util.regex.Pattern: java.util.regex.Matcher matcher(java.lang.CharSequence)>(v);
v = virtualinvoke v.<java.util.regex.Matcher: boolean matches()>();
if v != 0 goto label;
return null;
label:
v = virtualinvoke v.<java.util.regex.Matcher: java.lang.String group(int)>(1);
v = virtualinvoke v.<java.util.regex.Matcher: java.lang.String group(int)>(2);
v = new org.apache.isis.core.security.authentication.AuthenticationRequestPassword;
specialinvoke v.<org.apache.isis.core.security.authentication.AuthenticationRequestPassword: void <init>(java.lang.String,java.lang.String)>(v, v);
v = specialinvoke v.<org.apache.isis.viewer.restfulobjects.viewer.webmodule.auth.AuthenticationStrategyAbstract: org.apache.isis.core.security.authentication.manager.AuthenticationManager getAuthenticationManager(javax.servlet.ServletRequest)>(v);
v = virtualinvoke v.<org.apache.isis.core.security.authentication.manager.AuthenticationManager: org.apache.isis.applib.services.iactnlayer.InteractionContext authenticate(org.apache.isis.core.security.authentication.AuthenticationRequest)>(v);
return v;
}
public void bind(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, org.apache.isis.applib.services.iactnlayer.InteractionContext)
{
org.apache.isis.viewer.restfulobjects.viewer.webmodule.auth.AuthenticationStrategyBasicAuth v;
javax.servlet.http.HttpServletRequest v;
javax.servlet.http.HttpServletResponse v;
org.apache.isis.applib.services.iactnlayer.InteractionContext v;
v := @this: org.apache.isis.viewer.restfulobjects.viewer.webmodule.auth.AuthenticationStrategyBasicAuth;
v := @parameter: javax.servlet.http.HttpServletRequest;
v := @parameter: javax.servlet.http.HttpServletResponse;
v := @parameter: org.apache.isis.applib.services.iactnlayer.InteractionContext;
return;
}
private java.lang.String getBasicAuthDigest(javax.servlet.http.HttpServletRequest)
{
org.apache.isis.viewer.restfulobjects.viewer.webmodule.auth.AuthenticationStrategyBasicAuth v;
javax.servlet.http.HttpServletRequest v;
int v;
java.lang.String v, v, v;
boolean v;
v := @this: org.apache.isis.viewer.restfulobjects.viewer.webmodule.auth.AuthenticationStrategyBasicAuth;
v := @parameter: javax.servlet.http.HttpServletRequest;
v = interfaceinvoke v.<javax.servlet.http.HttpServletRequest: java.lang.String getHeader(java.lang.String)>("Authorization");
if v == null goto label;
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("Basic ");
if v == 0 goto label;
v = "Basic ";
v = virtualinvoke v.<java.lang.String: int length()>();
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
goto label;
label:
v = null;
label:
return v;
}
protected java.lang.String unencoded(java.lang.String)
{
byte[] v, v;
org.apache.isis.viewer.restfulobjects.viewer.webmodule.auth.AuthenticationStrategyBasicAuth v;
java.nio.charset.Charset v;
java.util.Base64$Decoder v;
java.lang.String v, v;
v := @this: org.apache.isis.viewer.restfulobjects.viewer.webmodule.auth.AuthenticationStrategyBasicAuth;
v := @parameter: java.lang.String;
v = staticinvoke <java.util.Base64: java.util.Base64$Decoder getUrlDecoder()>();
v = virtualinvoke v.<java.lang.String: byte[] getBytes()>();
v = staticinvoke <org.apache.isis.commons.internal.base._Bytes: byte[] decodeBase64(java.util.Base64$Decoder,byte[])>(v, v);
v = <java.nio.charset.StandardCharsets: java.nio.charset.Charset UTF_8>;
v = staticinvoke <org.apache.isis.commons.internal.base._Strings: java.lang.String ofBytes(byte[],java.nio.charset.Charset)>(v, v);
return v;
}
static void <clinit>()
{
java.util.regex.Pattern v;
v = staticinvoke <java.util.regex.Pattern: java.util.regex.Pattern compile(java.lang.String)>("^(.+):(.+)$");
<org.apache.isis.viewer.restfulobjects.viewer.webmodule.auth.AuthenticationStrategyBasicAuth: java.util.regex.Pattern USER_AND_PASSWORD_REGEX> = v;
return;
}
}