检索表单身份验证到期日期/时间

mar*_*nes 2 c# asp.net cookies forms-authentication

我正在使用表单身份验证,当前在用户登录时创建表单身份验证票证,如果他们请求保留登录,则设置约5天的到期时间.

我现在需要创建一个额外的cookie来存储一些额外的设置,如果用户通过身份验证,我希望能够获得其表单身份验证票据到期的日期/时间,表单票证是否持久,以及将其设置为我的其他cookie的到期日,但我不知道如何获取该表单auth到期日期/时间或检查它是否持久.

可以从加密的表单身份验证票中提取此信息吗?

gbs*_*gbs 7

使用FormsAuthenticationTicket.

FormsIdentity identity = HttpContext.Current.User.Identity as FormsIdentity;
FormsAuthenticationTicket ticket = identity.Ticket;
//ticket.Expiration
//ticket.IsPersistent
Run Code Online (Sandbox Code Playgroud)

另外你可以得到像这样的cookie:

HttpCookie cookie = Request.Cookies[FormsAuthentication.FormsCookieName];
Run Code Online (Sandbox Code Playgroud)