如何在ASP.NET窗体身份验证中检查“createPersistentCookie”?

时间:2011-05-24 16:52:22

标签: asp.net forms-authentication

当有人登录我的应用程序并且他们选中了“记住我”复选框时,我设置了createPersistentCookie = true,这样当他们回来时他们不需要再次登录。但是,偶尔我需要使用FormsAuthentication.SetAuthCookie(NewUserName, [true/false]),所以我怎么知道他们最初是否将createPersistentCookie设置为true,所以我可以保持它与登录时相同?

2 个答案:

答案 0 :(得分:2)

我相信当您解密Cookie时,您应该留下FormsAuthenticationTicket,然后您可以查询IsPersistent属性。

要解密:

FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt(Request.Cookies[FormsAuthentication.FormsCookieName].Value);

参考文献: FormsAuthentication.Decrypt() on MSDN

答案 1 :(得分:1)

您还应该记得在应用程序的web.config中设置为常量值。 ASP.NET有一段时间后自动生成此值的倾向。

如需了解更多信息,请查看:http://msdn.microsoft.com/en-us/library/w8h3skw9(v=VS.90).aspx