private async Task RegisterLogin(string email) { var user = await UserManager.FindByEmailAsync(email); SerializeCustomPrincipal serializemodel = new SerializeCustomPrincipal { name = user.UserName, role = user.role, userId = Guid.Parse(user.Id), email = user.email, }; JavaScriptSerializer serializer = new JavaScriptSerializer(); string userData = serializer.Serialize(serializemodel); FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket( 1, user.UserName, DateTime.Now, DateTime.Now.AddMinutes(20), false, userData); string encTicket = FormsAuthentication.Encrypt(authTicket); HttpCookie faCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encTicket); Response.Cookies.Add(faCookie); }
protected void Application_PostAuthenticateRequest(Object sender, EventArgs e) { HttpCookie authCookie = Request.Cookies[FormsAuthentication.FormsCookieName]; if (authCookie != null) { FormsAuthenticationTicket authTicket = FormsAuthentication.Decrypt(authCookie.Value); JavaScriptSerializer serializer = new JavaScriptSerializer(); SerializeCustomPrincipal serializeModel = serializer.Deserialize <SerializeCustomPrincipal>(authTicket.UserData); CustomPrincipal newUser = new CustomPrincipal(serializeModel.name, serializeModel.role, serializeModel.email, serializeModel.userId); HttpContext.Current.User = newUser; } }