예제 #1
0
파일: BasePage.cs 프로젝트: zhaowei2/wzgl
        /// <summary>
        /// 检查Cookie超时
        /// </summary>
        //public void CheckCookieTimeout()
        //{
        //    HttpCookie cookie = HttpContext.Current.Request.Cookies.Get(System.Web.Security.FormsAuthentication.FormsCookieName);
        //    if (FormsAuthentication.Authenticate(cookie.Name, cookie.Value))
        //    {
        //        FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt(cookie.Value);
        //        DateTime dt = ticket.IssueDate;
        //        TimeSpan ts = DateTime.Now - dt;
        //        int SessionExpires = GetSessionTimeout();
        //        if (ticket.Expired || ticket.Expiration > DateTime.Now || ts.Days > 0 || ts.Hours > 1 || ts.Minutes > SessionExpires)
        //        {
        //            //调用SSO服务注销用户
        //            System.Security.Authentication.Logout();
        //            FormsAuthentication.SignOut();
        //            HttpContext.Current.Response.Redirect(System.Configuration.ConfigurationManager.AppSettings["ZHLDERROR"].ToString(), false);
        //            HttpContext.Current.ApplicationInstance.CompleteRequest();
        //        }
        //    }
        //}

        /// <summary>
        /// 检查Session超时
        /// </summary>
        //public void CheckSessionTimeout()
        //{
        //    if (HttpContext.Current.Session["USER"] != null || String.IsNullOrEmpty(Convert.ToString(HttpContext.Current.Session["USER"])))
        //    {
        //        //调用SSO服务注销用户
        //        Authentication.Logout();
        //        FormsAuthentication.SignOut();
        //        HttpContext.Current.Response.Redirect(System.Configuration.ConfigurationManager.AppSettings["ZHLDERROR"].ToString(), false);
        //        HttpContext.Current.ApplicationInstance.CompleteRequest();
        //    }
        //}

        /// <summary>
        /// 获取Web.Config中Session的超时分钟
        /// </summary>
        /// <returns></returns>
        public int GetSessionTimeout()
        {
            Configuration conn = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration(null);

            System.Web.Configuration.SessionStateSection sectionSession = (System.Web.Configuration.SessionStateSection)conn.GetSection("system.web/sessionState");
            return(sectionSession.Timeout.Minutes);
        }
        public ActionResult Index()
        {
            Session["User"] = "******";
            return(Redirect("/Report/Index"));

            System.Web.Configuration.SessionStateSection sessionSection = (System.Web.Configuration.SessionStateSection)System.Configuration.ConfigurationManager.GetSection("system.web/sessionState");
            if (Request.Cookies[sessionSection.CookieName] != null)
            {
                var sessionCookie = Request.Cookies[sessionSection.CookieName];
                sessionCookie.Expires = DateTime.Now.AddDays(-1.0D);
                Response.Cookies.Add(sessionCookie);
            }
            Session.Clear();


            AVGD.Common.SessionHelper.RestSqlValue();


            return(View());
        }
예제 #3
0
 public static string getDefaultSessionCookieName()
 {
     System.Web.Configuration.SessionStateSection sessionStateSection = (System.Web.Configuration.SessionStateSection)System.Configuration.ConfigurationManager.GetSection("system.web/sessionState");
     return(sessionStateSection.CookieName);
 }
 /// <summary>
 /// 获取Web.config 在sessionState设置的超时时间
 /// </summary>
 static MyCustomSessionStateStoreProvider()
 {
     System.Web.Configuration.SessionStateSection sessionStateSection = (System.Web.Configuration.SessionStateSection)System.Configuration.ConfigurationManager.GetSection("system.web/sessionState");
     _expiresTime = sessionStateSection.Timeout;
 }