以编程方式更改 FormsAuthenticationTicket 中的用户数据

发布于 2024-09-12 09:19:34 字数 185 浏览 3 评论 0原文

我正在使用 FormsAuthenticationTicket 并放置数据并在所有页面之间传递数据。 如果我们不更改任何数据,它就会起作用。

所以,现在如果我想更改数据并将其传递给 cookie 并加密,那么如何以编程方式更改数据。

请给我以编程方式更改 HttpCookie 中的数据的解决方案。

I am using the FormsAuthenticationTicket and place the data and passing the data across all the pages.
and it will work if we are not changing any data.

So, now if I want to change the data and pass it for the cookie and encrypt then how to change the data programmatically.

Please give me the solution for changing the data in HttpCookie programmatically.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

鯉魚旗 2024-09-19 09:19:34

这是我如何修改已发出的表单身份验证票证的示例:

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

// Store UserData inside the Forms Ticket with all the attributes
// in sync with the web.config
var newticket = new FormsAuthenticationTicket(ticket.Version,
                                              ticket.Name,
                                              ticket.IssueDate,
                                              ticket.Expiration,
                                              true, // always persistent
                                              "User Data",
                                              ticket.CookiePath);

// Encrypt the ticket and store it in the cookie
cookie.Value = FormsAuthentication.Encrypt(newticket);
cookie.Expires = newticket.Expiration.AddHours(24);
this.Context.Response.Cookies.Set(cookie);

This is an example of how I modify an already-issued forms auth ticket:

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

// Store UserData inside the Forms Ticket with all the attributes
// in sync with the web.config
var newticket = new FormsAuthenticationTicket(ticket.Version,
                                              ticket.Name,
                                              ticket.IssueDate,
                                              ticket.Expiration,
                                              true, // always persistent
                                              "User Data",
                                              ticket.CookiePath);

// Encrypt the ticket and store it in the cookie
cookie.Value = FormsAuthentication.Encrypt(newticket);
cookie.Expires = newticket.Expiration.AddHours(24);
this.Context.Response.Cookies.Set(cookie);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文