0

ログイン時にFormsAuthenticationのクッキー値(FormsAuthentication.SetAuthCookie(UserDesignation, false))を設定する必要があります。 指定変更オプションを提供する必要があります。したがって、ユーザーが指定を変更したときには、FormsAuthenticationのクッキー値を古い指定から新しい指定に更新する必要があります。FormsAuthentication Cookieの値を更新することはできますか?

これは可能ですか?

「はい」の場合、どうすればよいですか?

答えて

1

下図のようにあなたがクッキーのデータを変更することができますが、別のクッキーに役割を維持し、そうをFormsAuthenticationクッキー

HttpCookie cookie = FormsAuthentication.GetAuthCookie(Username, true); 
var ticket = FormsAuthentication.Decrypt(cookie.Value); 

var newticket = new FormsAuthenticationTicket(ticket.Version, 
               ticket.Name, 
               ticket.IssueDate, 
               ticket.Expiration, 
               true, //persistent 
               "user data,designation", 
               ticket.CookiePath); 

cookie.Value = FormsAuthentication.Encrypt(newticket); 
cookie.Expires = newticket.Expiration.AddHours(2); 
HttpContext.Current.Response.Cookies.Set(cookie); 
+0

を使用して、それを認証するために私の通り、それは好ましいが、私たちがすることができませんすることができますFormsAuthendicationクッキーのNameプロパティ値を変更します。ユーザーデータのみを変更することができます。右? – LTA

+0

はい、クッキー名を変更すると、新しいクッキーとして扱われます。その方法にしたい場合は、認証後に古いCookieを削除して新しいCookieを作成してください。 – Nikitesh

関連する問題