public static void AuthCookieTime() { if (SecurityData.IsAuthenticated && FormsAuthentication.SlidingExpiration) { string key = SecurityData.AuthKey; string lastSet = HttpContext.Current.Cache[key] != null ? HttpContext.Current.Cache[key].ToString() : String.Empty; if (String.IsNullOrEmpty(lastSet)) { string tOut = SiteData.GetAuthFormProp("timeout"); int timeout = Convert.ToInt32((tOut == null ? "30" : tOut)); if (timeout < 5) { timeout = 5; } int expCache = timeout <= 60 ? 5 : 30; HttpCookie authCookie = new HttpCookie(FormsAuthentication.FormsCookieName); FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(SecurityData.CurrentUserIdentityName, true, timeout); string theTicket = FormsAuthentication.Encrypt(ticket); authCookie = HttpContext.Current.Response.Cookies[FormsAuthentication.FormsCookieName]; authCookie.Value = theTicket; authCookie.Expires = DateTime.Now.AddMinutes((timeout + 2)); authCookie.Path = "/"; HttpContext.Current.Cache.Insert(key, SecurityData.CurrentUserIdentityName, null, DateTime.Now.AddMinutes(expCache), Cache.NoSlidingExpiration); } } }