3

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

それは可能ですか?

はいの場合、どうすればこれを行うことができますか?

4

1 に答える 1

8

以下に示すようにCookieデータを変更できますが、ロールを別のCookieに保持し、FormsAuthentication Cookieを使用して認証することをお勧めします

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);
于 2016-05-17T12:04:17.957 に答える