/// <summary> /// Serialize UserData and add it to cookie /// </summary> /// <param name="user">user</param> /// <param name="rememberMe"></param> public static void Create(ApplicationUser user, bool rememberMe) { var serializeModel = new LeaguePrincipalSerializeModel { UserId = user.Id, Login = user.Login, Role = user.Role }; JavaScriptSerializer serializer = new JavaScriptSerializer(); string userData = serializer.Serialize(serializeModel); string cookiePath = "/"; int durationInMinutes = 30; int ticketVersion = 1; var authTicket = new FormsAuthenticationTicket( ticketVersion, // version number user.Login, // name of the cookie DateTime.Now, // issue date DateTime.Now.AddMinutes(durationInMinutes), // expiration rememberMe, // survives browser sessions userData, // custom data (serialized) cookiePath); // set acces path for cookie var ticket = FormsAuthentication.Encrypt(authTicket); var cookie = new HttpCookie(FormsAuthentication.FormsCookieName, ticket); HttpContext.Current.Response.Cookies.Add(cookie); }
/// <summary> /// Serialize UserData and add it to cookie /// </summary> /// <param name="user">user</param> /// <param name="rememberMe"></param> public static void Create(ApplicationUser user, bool rememberMe) { var serializeModel = new LeaguePrincipalSerializeModel { UserId = user.Id, Login = user.Login, Role = user.Role }; JavaScriptSerializer serializer = new JavaScriptSerializer(); string userData = serializer.Serialize(serializeModel); string cookiePath = "/"; int durationInMinutes = 30; int ticketVersion = 1; var authTicket = new FormsAuthenticationTicket( ticketVersion, // version number user.Login, // name of the cookie DateTime.Now, // issue date DateTime.Now.AddMinutes(durationInMinutes), // expiration rememberMe, // survives browser sessions userData, // custom data (serialized) cookiePath); // set acces path for cookie var ticket = FormsAuthentication.Encrypt(authTicket); var cookie = new HttpCookie(FormsAuthentication.FormsCookieName, ticket); HttpContext.Current.Response.Cookies.Add(cookie); }