Är det möjligt uppdatera en FormsAuthentication ticket? Lyckades lösa det med följande kod.Uppdatera en FormsAuthentication ticket
Det jag vill göra är att lägga till mer info i min cookie då anändaren te x får en annan roll.
Som jag har det idag måste jag starta en ny session för att de nya inställningrna skall sättas.
Verkar som att FormsAuthenticationTicket.UserInfo är readonly så tänkte att det kanske går att göra en signout och skapa en ny cookie med ny data i.
Men detta fungerade inte, Invalid value for 'encryptedTicket' parameter. Sv: Uppdatera en FormsAuthentication ticket
user - objektet innehåller all användar data.
HttpCookie cookie = FormsAuthentication.GetAuthCookie( System.Web.HttpContext.Current.User.Identity.Name, false );
FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt(cookie.Value);
// Notice that all current ticket properties are preserved in the new ticket
FormsAuthenticationTicket newticket = new FormsAuthenticationTicket(
ticket.Version, ticket.Name, ticket.IssueDate, ticket.Expiration,
ticket.IsPersistent, user.UserInfoString(), ticket.CookiePath);
// add the encrypted ticket to the cookie as data.
cookie.Value = FormsAuthentication.Encrypt(newticket);
// Update the outgoing cookies collection.
HttpContext.Current.Response.Cookies.Set(cookie);
System.Web.HttpContext.Current.User = new CustomPrincipal(System.Web.HttpContext.Current.User.Identity,user.UserInfoArray() );