public class org.apache.shiro.web.mgt.CookieRememberMeManager extends org.apache.shiro.mgt.AbstractRememberMeManager
{
private static final transient org.slf4j.Logger log;
public static final java.lang.String DEFAULT_REMEMBER_ME_COOKIE_NAME;
private org.apache.shiro.web.servlet.Cookie cookie;
public void <init>()
{
org.apache.shiro.web.mgt.CookieRememberMeManager v;
org.apache.shiro.web.servlet.SimpleCookie v;
v := @this: org.apache.shiro.web.mgt.CookieRememberMeManager;
specialinvoke v.<org.apache.shiro.mgt.AbstractRememberMeManager: void <init>()>();
v = new org.apache.shiro.web.servlet.SimpleCookie;
specialinvoke v.<org.apache.shiro.web.servlet.SimpleCookie: void <init>(java.lang.String)>("rememberMe");
interfaceinvoke v.<org.apache.shiro.web.servlet.Cookie: void setHttpOnly(boolean)>(1);
interfaceinvoke v.<org.apache.shiro.web.servlet.Cookie: void setMaxAge(int)>(31536000);
v.<org.apache.shiro.web.mgt.CookieRememberMeManager: org.apache.shiro.web.servlet.Cookie cookie> = v;
return;
}
public org.apache.shiro.web.servlet.Cookie getCookie()
{
org.apache.shiro.web.servlet.Cookie v;
org.apache.shiro.web.mgt.CookieRememberMeManager v;
v := @this: org.apache.shiro.web.mgt.CookieRememberMeManager;
v = v.<org.apache.shiro.web.mgt.CookieRememberMeManager: org.apache.shiro.web.servlet.Cookie cookie>;
return v;
}
public void setCookie(org.apache.shiro.web.servlet.Cookie)
{
org.apache.shiro.web.servlet.Cookie v;
org.apache.shiro.web.mgt.CookieRememberMeManager v;
v := @this: org.apache.shiro.web.mgt.CookieRememberMeManager;
v := @parameter: org.apache.shiro.web.servlet.Cookie;
v.<org.apache.shiro.web.mgt.CookieRememberMeManager: org.apache.shiro.web.servlet.Cookie cookie> = v;
return;
}
protected void rememberSerializedIdentity(org.apache.shiro.subject.Subject, byte[])
{
byte[] v;
org.slf4j.Logger v, v;
javax.servlet.http.HttpServletResponse v;
javax.servlet.http.HttpServletRequest v;
org.apache.shiro.subject.Subject v;
org.apache.shiro.web.mgt.CookieRememberMeManager v;
org.apache.shiro.web.servlet.Cookie v;
java.lang.String v;
boolean v, v;
org.apache.shiro.web.servlet.SimpleCookie v;
v := @this: org.apache.shiro.web.mgt.CookieRememberMeManager;
v := @parameter: org.apache.shiro.subject.Subject;
v := @parameter: byte[];
v = staticinvoke <org.apache.shiro.web.util.WebUtils: boolean isHttp(java.lang.Object)>(v);
if v != 0 goto label;
v = <org.apache.shiro.web.mgt.CookieRememberMeManager: org.slf4j.Logger log>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isDebugEnabled()>();
if v == 0 goto label;
v = <org.apache.shiro.web.mgt.CookieRememberMeManager: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>("Subject argument is not an HTTP-aware instance.  This is required to obtain a servlet request and response in order to set the rememberMe cookie. Returning immediately and ignoring rememberMe operation.");
label:
return;
label:
v = staticinvoke <org.apache.shiro.web.util.WebUtils: javax.servlet.http.HttpServletRequest getHttpRequest(java.lang.Object)>(v);
v = staticinvoke <org.apache.shiro.web.util.WebUtils: javax.servlet.http.HttpServletResponse getHttpResponse(java.lang.Object)>(v);
v = staticinvoke <org.apache.shiro.codec.Base64: java.lang.String encodeToString(byte[])>(v);
v = virtualinvoke v.<org.apache.shiro.web.mgt.CookieRememberMeManager: org.apache.shiro.web.servlet.Cookie getCookie()>();
v = new org.apache.shiro.web.servlet.SimpleCookie;
specialinvoke v.<org.apache.shiro.web.servlet.SimpleCookie: void <init>(org.apache.shiro.web.servlet.Cookie)>(v);
interfaceinvoke v.<org.apache.shiro.web.servlet.Cookie: void setValue(java.lang.String)>(v);
interfaceinvoke v.<org.apache.shiro.web.servlet.Cookie: void saveTo(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)>(v, v);
return;
}
private boolean isIdentityRemoved(org.apache.shiro.web.subject.WebSubjectContext)
{
javax.servlet.ServletRequest v;
org.apache.shiro.web.mgt.CookieRememberMeManager v;
java.lang.Object v;
org.apache.shiro.web.subject.WebSubjectContext v;
java.lang.String v;
boolean v, v;
v := @this: org.apache.shiro.web.mgt.CookieRememberMeManager;
v := @parameter: org.apache.shiro.web.subject.WebSubjectContext;
v = interfaceinvoke v.<org.apache.shiro.web.subject.WebSubjectContext: javax.servlet.ServletRequest resolveServletRequest()>();
if v == null goto label;
v = <org.apache.shiro.web.servlet.ShiroHttpServletRequest: java.lang.String IDENTITY_REMOVED_KEY>;
v = interfaceinvoke v.<javax.servlet.ServletRequest: java.lang.Object getAttribute(java.lang.String)>(v);
if v == null goto label;
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
label:
return 0;
}
protected byte[] getRememberedSerializedIdentity(org.apache.shiro.subject.SubjectContext)
{
byte[] v;
javax.servlet.http.HttpServletRequest v;
int v;
java.lang.String v, v, v, v, v, v;
boolean v, v, v, v, v, v;
org.slf4j.Logger v, v, v, v, v, v, v;
javax.servlet.http.HttpServletResponse v;
java.lang.RuntimeException v;
org.apache.shiro.subject.SubjectContext v;
org.apache.shiro.web.mgt.CookieRememberMeManager v;
org.apache.shiro.web.servlet.Cookie v, v;
v := @this: org.apache.shiro.web.mgt.CookieRememberMeManager;
v := @parameter: org.apache.shiro.subject.SubjectContext;
v = staticinvoke <org.apache.shiro.web.util.WebUtils: boolean isHttp(java.lang.Object)>(v);
if v != 0 goto label;
v = <org.apache.shiro.web.mgt.CookieRememberMeManager: org.slf4j.Logger log>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isDebugEnabled()>();
if v == 0 goto label;
v = <org.apache.shiro.web.mgt.CookieRememberMeManager: org.slf4j.Logger log>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String)>("SubjectContext argument is not an HTTP-aware instance.  This is required to obtain a servlet request and response in order to retrieve the rememberMe cookie. Returning immediately and ignoring rememberMe operation.");
label:
return null;
label:
v = specialinvoke v.<org.apache.shiro.web.mgt.CookieRememberMeManager: boolean isIdentityRemoved(org.apache.shiro.web.subject.WebSubjectContext)>(v);
if v == 0 goto label;
return null;
label:
v = staticinvoke <org.apache.shiro.web.util.WebUtils: javax.servlet.http.HttpServletRequest getHttpRequest(java.lang.Object)>(v);
v = staticinvoke <org.apache.shiro.web.util.WebUtils: javax.servlet.http.HttpServletResponse getHttpResponse(java.lang.Object)>(v);
v = virtualinvoke v.<org.apache.shiro.web.mgt.CookieRememberMeManager: org.apache.shiro.web.servlet.Cookie getCookie()>();
v = interfaceinvoke v.<org.apache.shiro.web.servlet.Cookie: java.lang.String readValue(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)>(v, v);
v = "deleteMe";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
return null;
label:
if v == null goto label;
v = specialinvoke v.<org.apache.shiro.web.mgt.CookieRememberMeManager: java.lang.String ensurePadding(java.lang.String)>(v);
v = <org.apache.shiro.web.mgt.CookieRememberMeManager: org.slf4j.Logger log>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isTraceEnabled()>();
if v == 0 goto label;
v = <org.apache.shiro.web.mgt.CookieRememberMeManager: org.slf4j.Logger log>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Acquired Base encoded identity [\u]");
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String)>(v);
label:
v = staticinvoke <org.apache.shiro.codec.Base64: byte[] decode(java.lang.String)>(v);
label:
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<org.apache.shiro.web.mgt.CookieRememberMeManager: org.apache.shiro.web.servlet.Cookie getCookie()>();
interfaceinvoke v.<org.apache.shiro.web.servlet.Cookie: void removeFrom(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)>(v, v);
v = <org.apache.shiro.web.mgt.CookieRememberMeManager: org.slf4j.Logger log>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Unable to decode existing base encoded entity: [\u].");
interfaceinvoke v.<org.slf4j.Logger: void warn(java.lang.String,java.lang.Throwable)>(v, v);
return null;
label:
v = <org.apache.shiro.web.mgt.CookieRememberMeManager: org.slf4j.Logger log>;
v = interfaceinvoke v.<org.slf4j.Logger: boolean isTraceEnabled()>();
if v == 0 goto label;
v = <org.apache.shiro.web.mgt.CookieRememberMeManager: org.slf4j.Logger log>;
v = lengthof v;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Base decoded byte array length: \u bytes.");
interfaceinvoke v.<org.slf4j.Logger: void trace(java.lang.String)>(v);
label:
return v;
label:
return null;
catch java.lang.RuntimeException from label to label with label;
}
private java.lang.String ensurePadding(java.lang.String)
{
org.apache.shiro.web.mgt.CookieRememberMeManager v;
int v, v, v, v;
java.lang.StringBuilder v;
java.lang.String v;
v := @this: org.apache.shiro.web.mgt.CookieRememberMeManager;
v := @parameter: java.lang.String;
v = virtualinvoke v.<java.lang.String: int length()>();
v = v % 4;
if v == 0 goto label;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>(java.lang.String)>(v);
v = 0;
label:
v = v % 4;
if v >= v goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(61);
v = v + 1;
goto label;
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
label:
return v;
}
protected void forgetIdentity(org.apache.shiro.subject.Subject)
{
javax.servlet.http.HttpServletRequest v;
org.apache.shiro.subject.Subject v;
org.apache.shiro.web.mgt.CookieRememberMeManager v;
javax.servlet.http.HttpServletResponse v;
boolean v;
v := @this: org.apache.shiro.web.mgt.CookieRememberMeManager;
v := @parameter: org.apache.shiro.subject.Subject;
v = staticinvoke <org.apache.shiro.web.util.WebUtils: boolean isHttp(java.lang.Object)>(v);
if v == 0 goto label;
v = staticinvoke <org.apache.shiro.web.util.WebUtils: javax.servlet.http.HttpServletRequest getHttpRequest(java.lang.Object)>(v);
v = staticinvoke <org.apache.shiro.web.util.WebUtils: javax.servlet.http.HttpServletResponse getHttpResponse(java.lang.Object)>(v);
specialinvoke v.<org.apache.shiro.web.mgt.CookieRememberMeManager: void forgetIdentity(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)>(v, v);
label:
return;
}
public void forgetIdentity(org.apache.shiro.subject.SubjectContext)
{
org.apache.shiro.subject.SubjectContext v;
javax.servlet.http.HttpServletRequest v;
org.apache.shiro.web.mgt.CookieRememberMeManager v;
javax.servlet.http.HttpServletResponse v;
boolean v;
v := @this: org.apache.shiro.web.mgt.CookieRememberMeManager;
v := @parameter: org.apache.shiro.subject.SubjectContext;
v = staticinvoke <org.apache.shiro.web.util.WebUtils: boolean isHttp(java.lang.Object)>(v);
if v == 0 goto label;
v = staticinvoke <org.apache.shiro.web.util.WebUtils: javax.servlet.http.HttpServletRequest getHttpRequest(java.lang.Object)>(v);
v = staticinvoke <org.apache.shiro.web.util.WebUtils: javax.servlet.http.HttpServletResponse getHttpResponse(java.lang.Object)>(v);
specialinvoke v.<org.apache.shiro.web.mgt.CookieRememberMeManager: void forgetIdentity(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)>(v, v);
label:
return;
}
private void forgetIdentity(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
{
javax.servlet.http.HttpServletRequest v;
org.apache.shiro.web.mgt.CookieRememberMeManager v;
javax.servlet.http.HttpServletResponse v;
org.apache.shiro.web.servlet.Cookie v;
v := @this: org.apache.shiro.web.mgt.CookieRememberMeManager;
v := @parameter: javax.servlet.http.HttpServletRequest;
v := @parameter: javax.servlet.http.HttpServletResponse;
v = virtualinvoke v.<org.apache.shiro.web.mgt.CookieRememberMeManager: org.apache.shiro.web.servlet.Cookie getCookie()>();
interfaceinvoke v.<org.apache.shiro.web.servlet.Cookie: void removeFrom(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)>(v, v);
return;
}
static void <clinit>()
{
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/shiro/web/mgt/CookieRememberMeManager;");
<org.apache.shiro.web.mgt.CookieRememberMeManager: org.slf4j.Logger log> = v;
return;
}
}