【发布时间】:2010-12-20 16:51:18
【问题描述】:
我正在尝试检查用户当前 FormsAuthenticationTicket 的 Expired 属性,以查看身份验证期限是否已过期。但是当期限到期时,我永远无法获得足够的信息来创建要检查的票证。我试过这个:
FormsIdentity id = (FormsIdentity)User.Identity;
FormsAuthenticationTicket ticket = id.Ticket;
但当认证期限到期时,用户为空。所以这行不通。我试过这个:
HttpCookie authCookie = context.Request.Cookies[FormsAuthentication.FormsCookieName];
FormsAuthenticationTicket authTicket = FormsAuthentication.Decrypt(authCookie.Value);
但是当认证期限到期后,Forms Cookie 就消失了,这意味着 authCookie 将为空。所以这行不通。
有什么方法可以在身份验证期到期时真正获取 FormsAuthenticationTicket 对象?必须有,因为对象中有一个“过期”属性。我错过了什么?
谢谢。
【问题讨论】:
标签: asp.net cookies forms-authentication formsauthenticationticket