【问题标题】:Retrieve Forms Authentication Expiration Date/Time检索表单身份验证到期日期/时间
【发布时间】:2011-10-27 13:13:09
【问题描述】:
我正在使用表单身份验证,目前在用户登录时创建表单身份验证票,如果他们要求保持登录,则设置大约 5 天的到期时间。
我现在需要创建一个额外的 cookie 来存储一些额外的设置,如果用户通过身份验证,我希望能够获取他们的表单身份验证票到期的日期/时间,无论表单票是持久性,并将其设置为我的其他 cookie 的过期时间,但我不知道如何获取该表单身份验证过期日期/时间或检查它是否持久。
可以从加密的表单身份验证票中提取此信息吗?
【问题讨论】:
标签:
c#
asp.net
cookies
forms-authentication
【解决方案1】:
使用FormsAuthenticationTicket。
FormsIdentity identity = HttpContext.Current.User.Identity as FormsIdentity;
FormsAuthenticationTicket ticket = identity.Ticket;
//ticket.Expiration
//ticket.IsPersistent
此外,您还可以获得如下 cookie:
HttpCookie cookie = Request.Cookies[FormsAuthentication.FormsCookieName];