cookies - Cookies ASP.NET: 在验证过期时如何获取FormsAuthenticationTicket对象

  显示原文与译文双语对照的内容

我正在尝试检查用户FormsAuthenticationTicket当前的过期属性,以查看身份验证周期是否过期。 但是当期间过期时,我无法获得足够的信息,甚至可以创建票据来检查。 我已经尝试过了:


FormsIdentity id = (FormsIdentity)User.Identity;


FormsAuthenticationTicket ticket = id.Ticket;



但是,当身份验证周期过期时,用户为空。 我已经尝试过了


HttpCookie authCookie = context.Request.Cookies[FormsAuthentication.FormsCookieName];


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



但是,当身份验证期过期时,表单Cookie就消失了,这意味着authCookie将是空的。 这样就不起作用了。

是否有任何方法可以在身份验证期间过期的情况下,在FormsAuthenticationTicket对象上进行实际处理? 必须有,因为对象中有一个"过期"属性。 我犯了什么错?

谢谢。

时间: 原作者:

客户端浏览器将过期的cookie保留在标题之外。 因这里,由于客户端永远不会给你提供任何代码,因这里无法检索它。 使用 javascript Cookies 可以检索原始cookie数据,并将它的放到某个目的的post头或者AJAX调用中,但我相信 javascript cookie机制与浏览器的到期限制相同。 过期的Cookies 不再有效,因此无法访问。

原作者:
...