/// <summary> /// Initializes data that might not be available when the constructor is called. /// </summary> /// <param name="requestContext">The HTTP context and route data.</param> protected override void Initialize(System.Web.Routing.RequestContext requestContext) { base.Initialize(requestContext); this.userState = new UserState(); if (this.User.Identity != null && this.User.Identity is FormsIdentity) { this.userState.FromString(((FormsIdentity)this.User.Identity).Ticket.UserData); } this.ViewData["UserState"] = this.userState; }
/// <summary> /// Issues the auth ticket. /// </summary> /// <param name="userState">State of the user.</param> /// <param name="rememberMe">if set to <c>true</c> [remember me].</param> private void IssueAuthTicket(UserState userState, bool rememberMe) { // create auth ticket FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1, userState.DisplayName, DateTime.Now, DateTime.Now.AddYears(1), rememberMe, userState.ToString()); // encrypt ticket string ticketString = FormsAuthentication.Encrypt(ticket); // create cookie HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, ticketString); if (rememberMe) { // set expiration cookie.Expires = DateTime.Now.AddYears(1); } // add cokie to users machine HttpContext.Response.Cookies.Add(cookie); }