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(); if (authTicket.UserData == "OAuth") { return; } NglPrincipalSerializedModel serializeModel = serializer.Deserialize <NglPrincipalSerializedModel>(authTicket.UserData); NglPrincipal newUser = new NglPrincipal(authTicket.Name); newUser.Resources = serializeModel.Resources; HttpContext.Current.User = newUser; } }
public void CreateAuthenticationTicket(ApplicationUser user) { var roleId = user.Roles.First().RoleId; var role = _roleManager.FindById(roleId).Name.DehumanizeTo <ApplicationRole>(); var serializeModel = new NglPrincipalSerializedModel { Resources = _resourceService.GetResourcesFor(role) }; var serializer = new JavaScriptSerializer(); var userData = serializer.Serialize(serializeModel); var authTicket = new FormsAuthenticationTicket(1, user.UserName, DateTime.Now, DateTime.Now.AddHours(8), false, userData); var encTicket = FormsAuthentication.Encrypt(authTicket); var faCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encTicket); Response.Cookies.Add(faCookie); }