简体   繁体   中英

How do I check the “createPersistentCookie” in ASP.NET Forms Authentication?

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?

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

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM