public class org.apache.shiro.web.session.mgt.ServletContainerSessionManager extends java.lang.Object implements org.apache.shiro.web.session.mgt.WebSessionManager
{
public void <init>()
{
org.apache.shiro.web.session.mgt.ServletContainerSessionManager v;
v := @this: org.apache.shiro.web.session.mgt.ServletContainerSessionManager;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public org.apache.shiro.session.Session start(org.apache.shiro.session.mgt.SessionContext) throws org.apache.shiro.authz.AuthorizationException
{
org.apache.shiro.session.mgt.SessionContext v;
org.apache.shiro.session.Session v;
org.apache.shiro.web.session.mgt.ServletContainerSessionManager v;
v := @this: org.apache.shiro.web.session.mgt.ServletContainerSessionManager;
v := @parameter: org.apache.shiro.session.mgt.SessionContext;
v = virtualinvoke v.<org.apache.shiro.web.session.mgt.ServletContainerSessionManager: org.apache.shiro.session.Session createSession(org.apache.shiro.session.mgt.SessionContext)>(v);
return v;
}
public org.apache.shiro.session.Session getSession(org.apache.shiro.session.mgt.SessionKey) throws org.apache.shiro.session.SessionException
{
javax.servlet.http.HttpSession v;
java.lang.IllegalArgumentException v;
org.apache.shiro.session.Session v;
javax.servlet.http.HttpServletRequest v;
org.apache.shiro.web.session.mgt.ServletContainerSessionManager v;
org.apache.shiro.session.mgt.SessionKey v;
java.lang.String v;
boolean v;
v := @this: org.apache.shiro.web.session.mgt.ServletContainerSessionManager;
v := @parameter: org.apache.shiro.session.mgt.SessionKey;
v = staticinvoke <org.apache.shiro.web.util.WebUtils: boolean isHttp(java.lang.Object)>(v);
if v != 0 goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("SessionKey must be an HTTP compatible implementation.");
throw v;
label:
v = staticinvoke <org.apache.shiro.web.util.WebUtils: javax.servlet.http.HttpServletRequest getHttpRequest(java.lang.Object)>(v);
v = null;
v = interfaceinvoke v.<javax.servlet.http.HttpServletRequest: javax.servlet.http.HttpSession getSession(boolean)>(0);
if v == null goto label;
v = interfaceinvoke v.<javax.servlet.http.HttpServletRequest: java.lang.String getRemoteHost()>();
v = virtualinvoke v.<org.apache.shiro.web.session.mgt.ServletContainerSessionManager: org.apache.shiro.session.Session createSession(javax.servlet.http.HttpSession,java.lang.String)>(v, v);
label:
return v;
}
private java.lang.String getHost(org.apache.shiro.session.mgt.SessionContext)
{
org.apache.shiro.session.mgt.SessionContext v;
javax.servlet.ServletRequest v;
org.apache.shiro.web.session.mgt.ServletContainerSessionManager v;
java.lang.String v;
v := @this: org.apache.shiro.web.session.mgt.ServletContainerSessionManager;
v := @parameter: org.apache.shiro.session.mgt.SessionContext;
v = interfaceinvoke v.<org.apache.shiro.session.mgt.SessionContext: java.lang.String getHost()>();
if v != null goto label;
v = staticinvoke <org.apache.shiro.web.util.WebUtils: javax.servlet.ServletRequest getRequest(java.lang.Object)>(v);
if v == null goto label;
v = interfaceinvoke v.<javax.servlet.ServletRequest: java.lang.String getRemoteHost()>();
label:
return v;
}
protected org.apache.shiro.session.Session createSession(org.apache.shiro.session.mgt.SessionContext) throws org.apache.shiro.authz.AuthorizationException
{
javax.servlet.http.HttpSession v;
org.apache.shiro.session.mgt.SessionContext v;
java.lang.IllegalArgumentException v;
org.apache.shiro.session.Session v;
javax.servlet.http.HttpServletRequest v;
org.apache.shiro.web.session.mgt.ServletContainerSessionManager v;
java.lang.String v;
boolean v;
v := @this: org.apache.shiro.web.session.mgt.ServletContainerSessionManager;
v := @parameter: org.apache.shiro.session.mgt.SessionContext;
v = staticinvoke <org.apache.shiro.web.util.WebUtils: boolean isHttp(java.lang.Object)>(v);
if v != 0 goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("SessionContext must be an HTTP compatible implementation.");
throw v;
label:
v = staticinvoke <org.apache.shiro.web.util.WebUtils: javax.servlet.http.HttpServletRequest getHttpRequest(java.lang.Object)>(v);
v = interfaceinvoke v.<javax.servlet.http.HttpServletRequest: javax.servlet.http.HttpSession getSession()>();
v = specialinvoke v.<org.apache.shiro.web.session.mgt.ServletContainerSessionManager: java.lang.String getHost(org.apache.shiro.session.mgt.SessionContext)>(v);
v = virtualinvoke v.<org.apache.shiro.web.session.mgt.ServletContainerSessionManager: org.apache.shiro.session.Session createSession(javax.servlet.http.HttpSession,java.lang.String)>(v, v);
return v;
}
protected org.apache.shiro.session.Session createSession(javax.servlet.http.HttpSession, java.lang.String)
{
javax.servlet.http.HttpSession v;
org.apache.shiro.web.session.mgt.ServletContainerSessionManager v;
java.lang.String v;
org.apache.shiro.web.session.HttpServletSession v;
v := @this: org.apache.shiro.web.session.mgt.ServletContainerSessionManager;
v := @parameter: javax.servlet.http.HttpSession;
v := @parameter: java.lang.String;
v = new org.apache.shiro.web.session.HttpServletSession;
specialinvoke v.<org.apache.shiro.web.session.HttpServletSession: void <init>(javax.servlet.http.HttpSession,java.lang.String)>(v, v);
return v;
}
public boolean isServletContainerSessions()
{
org.apache.shiro.web.session.mgt.ServletContainerSessionManager v;
v := @this: org.apache.shiro.web.session.mgt.ServletContainerSessionManager;
return 1;
}
}