When someone logs into my application and they checked the "Remember Me" checkbox, I set the createPersistentCookie = true
so that when they come back they don't need to log in again. However, occassionally, I need to use the FormsAuthentication.SetAuthCookie(NewUserName, [true/false])
so how do I know if they originally set the createPersistentCookie
to true or not so I can keep it the same as it was when they logged in?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
I believe when you decrypt the cookie you should be left with a FormsAuthenticationTicket
which you can then query the IsPersistent
property.
To decrypt:
FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt(Request.Cookies[FormsAuthentication.FormsCookieName].Value);
References: FormsAuthentication.Decrypt() on MSDN
回答2:
You should also remember to set in your application's web.config to constant value. ASP.NET has tendency to auto generate this values after some time.
For more info please take look at: http://msdn.microsoft.com/en-us/library/w8h3skw9(v=VS.90).aspx