Как проверить createPersistentCookie в ASP.NET Forms Authentication?

Когда кто-то входит в мое приложение и ставит галочку «Запомнить меня», я устанавливаю createPersistentCookie = true, чтобы, когда они вернутся, им не нужно было снова входить в систему. Однако иногда мне нужно использовать FormsAuthentication.SetAuthCookie(NewUserName, [true/false]), так как я узнаю, установили ли они изначально createPersistentCookie в значение true или нет, чтобы я мог оставить его таким же, каким он был, когда они вошли в систему?


person RichC    schedule 24.05.2011    source источник


Ответы (2)


Я считаю, что когда вы расшифровываете файл cookie, у вас должно остаться FormsAuthenticationTicket, которое вы затем можете запросить в свойстве IsPersistent.

Чтобы расшифровать:

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

Ссылки: FormsAuthentication.Decrypt() в MSDN

person ddc0660    schedule 24.05.2011

Вы также должны не забыть установить в файле web.config вашего приложения постоянное значение. ASP.NET имеет тенденцию автоматически генерировать эти значения через некоторое время.

Дополнительные сведения см. по адресу: http://msdn.microsoft.com/en-us/library/w8h3skw9(v=VS.90).aspx

person Tomasz Mikuś    schedule 24.05.2011