コード例 #1
0
        public bool SSO_InternalKeepAlive()
        {
            var    ttlsession = getSession();
            var    sessionID  = GetCurrentSessionID();
            string userID     = null;

            if (ttlsession != null && ttlsession.clientID != null)
            {
                userID = ttlsession.clientID;
            }

            if (sessionID != null && userID != null)
            {
                if (ttlsession != null && ttlsession.clientID != null && ttlsession.sessionID != null)
                {
                    // TODO: KEEP ALIVE TTL SHOULD BLOCK LOGIN...
                    new SessionController().keepalive_ttl_internal(ttlsession.clientID, ttlsession.sessionID);
                }

                SessionController.TryKeepaliveSessionLogin(sessionID, userID);

                if (Session["jsessionID"] != null)
                {
                    string jsessionID        = (string)Session["jsessionID"];
                    var    sessionController = new SessionController();
                    bool   success           = sessionController.keepAliveQPI(jsessionID);
                    Session["jsessionIDkeepAlive"] = success;
                    return(success);
                }
            }
            return(false);
        }
コード例 #2
0
        public void SSO_UpsertUser(bool isForceExpireAll = false)
        {
            var    ttlsession = getSession();
            var    sessionID  = GetCurrentSessionID();
            string userID     = null;

            if (ttlsession != null && ttlsession.clientID != null)
            {
                userID = ttlsession.clientID;
            }

            if (sessionID != null && userID != null)
            {
                if (isForceExpireAll)
                {
                    SessionController.ForceAllSessionLoginExpireByUserID(userID);
                }

                string jsessionID = null;
                if (Session["jsessionID"] != null)
                {
                    jsessionID = (string)Session["jsessionID"];
                }

                SessionController.UpsertSessionLogin(sessionID, userID, ttlsession, jsessionID);
            }
        }
コード例 #3
0
        public bool InternalKeepAlive()
        {
            Session["keepaliveTime"] = DateTime.Now;

            if (Session["jsessionID"] != null)
            {
                string jsessionID        = (string)Session["jsessionID"];
                var    sessionController = new SessionController();
                bool   success           = sessionController.keepAliveQPI(jsessionID);
                Session["jsessionIDkeepAlive"] = success;
                return(success);
            }
            return(false);
        }
コード例 #4
0
        public bool SSO_InternalHeartbeat()
        {
            var    ttlsession = getSession();
            var    sessionID  = GetCurrentSessionID();
            string userID     = null;

            if (ttlsession != null && ttlsession.clientID != null)
            {
                userID = ttlsession.clientID;
            }

            if (sessionID != null && userID != null)
            {
                SessionController.TryHeartbeatSessionLogin(sessionID, userID);
            }
            return(false);
        }
コード例 #5
0
        public void SSO_ClearSession()
        {
            var    ttlsession = getSession();
            var    sessionID  = GetCurrentSessionID();
            string userID     = null;

            if (ttlsession != null && ttlsession.clientID != null)
            {
                userID = ttlsession.clientID;
            }

            if (sessionID != null && userID != null)
            {
                SessionController.ForceSessionLoginExpireBySessionIDAndUserID(sessionID, userID);
            }

            Session.Abandon();
        }
コード例 #6
0
        public bool SSO_SessionTimeout()
        {
            var    ttlsession = getSession();
            var    sessionID  = GetCurrentSessionID();
            string userID     = null;

            if (ttlsession != null && ttlsession.clientID != null)
            {
                userID = ttlsession.clientID;
            }

            if (sessionID != null && userID != null)
            {
                if (SessionController.CheckKeepaliveSessionLoginExpired(sessionID, userID) ||
                    SessionController.CheckHeartbeatSessionLoginExpired(sessionID, userID) ||
                    SessionController.CheckForcedSessionLoginExpired(sessionID, userID))
                {
                    return(true);
                }
            }

            return(false);
        }
コード例 #7
0
 public void SSO_ForceExpire(string userID)
 {
     SessionController.ForceAllSessionLoginExpireByUserID(userID);
     SSO_ClearSession();
 }