コード例 #1
0
ファイル: Rule.cs プロジェクト: singlag888/NewWeb
        internal static void Action()
        {
            OnlineStatic os = OnlineStaticHelper.Select(Session.SessionID);

            os.LastTime = DateTime.Now;
            OnlineStaticHelper.Update(Session.SessionID, os);
        }
コード例 #2
0
ファイル: Rule.cs プロジェクト: singlag888/NewWeb
        internal static void Dispose()
        {
            //OnlineStatic os = OnlineStaticHelper.Select(Session.SessionID);
            //os.LastTime = DateTime.Now;
            //OnlineStaticHelper.Update(Session.SessionID, os);

            OnlineStaticHelper.Delete(Session.SessionID);
            AuthRules.SignOut();
            Session.Abandon();
            HttpContext.Current.Response.Cookies.Add(new HttpCookie("ASP.NET_SessionId", ""));
        }
コード例 #3
0
ファイル: Rule.cs プロジェクト: singlag888/NewWeb
        internal static void Create(ManagerInfo cust)
        {
            Session.SetValue <int>(SessionKey.UserId, cust.AdminID);
            AuthRules.SetAuthCookie(new SessionData {
                UserID = cust.AdminID.ToString(), SessionID = Session.SessionID
            });
            OnlineStaticHelper.Create(Session.SessionID, new OnlineStatic {
                Id = cust.AdminID, LastTime = DateTime.Now
            });

            //OnlineStaticHelper.Create(Session.SessionID, new OnlineStatic { Id = cust.AdminID, LastTime = DateTime.Now });
        }
コード例 #4
0
ファイル: Rule.cs プロジェクト: singlag888/NewWeb
 internal static OnlineStatic Select()
 {
     //return OnlineStaticHelper.Select(Session.SessionID);
     return(OnlineStaticHelper.Select(Session.SessionID));
 }
コード例 #5
0
        /// <summary>
        /// 檢查Session是否還在,依據cookie取出使用者資訊,並取出該使用者的資料
        /// </summary>
        private bool CheckLoginInfo(HttpContextBase httpContext)
        {
            bool result = false;


            //if (string.IsNullOrEmpty(httpContext.Session.GetValue<int>(SessionKey.UserId).ToString()))
            //{

            //沒有使用者資訊
            //session不在,所以check cookie是否在
            //string cookieName = FormsAuthentication.FormsCookieName;
            //HttpCookie authCookie = httpContext.Request.Cookies[cookieName];
            //FormsAuthenticationTicket authTicket = null;
            //authTicket = FormsAuthentication.Decrypt(authCookie.Value);
            //string usrid = authTicket.Name;


            string SessionID = ((FormsIdentity)httpContext.User.Identity).Ticket.UserData;

            if (string.IsNullOrEmpty(SessionID) == false)
            {
                //    //自動登入系統
                //    //FormsService.SignIn(usrid, true);
                //    var ou = OnlineUserHelper.GetUserOnline(SessionID);
                //    if (object.Equals(null, ou))
                //    {
                //        AuthRules.SignOut();
                //        return result;
                //    }
                //    try
                //    {
                //        if (ou.IsLeave)
                //        {
                //            Rules.Exit(SessionID);
                //            return result;
                //        }
                //    }
                //    catch (System.Exception ex)
                //    {
                //        AuthRules.SignOut();
                //        return result;
                //    }
                //    OnlineUserHelper.removeUserOnline(SessionID);
                //    Rules.Reset(ou);

                var ou = OnlineStaticHelper.Select(SessionID);
                if (ou.Id == 0)
                {
                    Rule.Dispose();
                    return(result);
                }
                if (ou.IsLeave)
                {
                    Rule.Dispose();
                    return(result);
                }
                Rule.Action();
                httpContext.Session.SetValue <int>(SessionKey.UserId, Convert.ToInt32(httpContext.User.Identity.Name));

                result = true;
            }
            //}
            //else {
            //    result = true;
            //}
            return(result);
        }