gpt4 book ai didi

c# - 检查当前登录的用户是否有持久的 authcookie

转载 作者:可可西里 更新时间:2023-11-01 08:41:36 26 4
gpt4 key购买 nike

我需要在当前登录用户的 FormsAuthentication AuthCookie 中编辑用户数据。我不知道如何确定当前用户是否选择了持久性 cookie(“记住我”)。

//user is already logged in...

HttpCookie authCookie = FormsAuthentication.GetAuthCookie(username, ispersistant); //how to I determine 'ispersistant'?

FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt(authCookie.Value);

FormsAuthenticationTicket newTicket = new FormsAuthenticationTicket(ticket.Version, ticket.Name, ticket.IssueDate, ticket.Expiration, ticket.IsPersistent, NEWuserdata);

authCookie.Value = FormsAuthentication.Encrypt(newTicket);

HttpContext.Current.Response.SetCookie(authCookie);

有人有什么想法吗?谢谢

最佳答案

FormsAuthentication.GetAuthCookie 方法只创建一个新的 cookie。它不会为您提供早先制作的 cookie。

在您的登录页面上,您可能有这样的内容:

FormsAuthentication.GetAuthCookie (userID, chkPersistCookie.Checked)

要知道用户何时通过身份验证,您可以这样做

this.Context.User.Identity.IsAuthenticated

我实际上不确定您是否可以推断出用户具有持久身份验证 cookie 这一事实。一件事是检查 cookie 的过期日期。

在此question有一个读取身份验证 cookie 的示例。

关于c# - 检查当前登录的用户是否有持久的 authcookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7938076/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com