Использование DotNetOpenAuth 3 в ASP.NET MVC и реализация средства RememberMe...
Я нахожу, что даже если я установил createPersistentCookie в true в FormsAuthentication.RedirectFromLoginPage и FormsAuthentication.SetAuthCookie, пользователь не будет помнить, как только сеанс ASP.NET истечет.
Если я осмотрю файл cookie, я считаю, что он отмечен как постоянный и в будущем имеет дату истечения срока действия, я полагаю, потому что я установил тайм-аут FORMS в web.config на несколько лет. Во всяком случае, если пользователь закрывает браузер и снова открывает его, они запоминаются правильно - пока сеанс ASP не истечет.
Старая статья Скотта Хансельмана заставляет меня задаться вопросом, связано ли это с тем, что FormsAuthentication пытается обновить билет на аутентификацию и, возможно, в модели OpenId, которая не работает "Я работаю, но я установил FORMS SlidingExpiration =" false "в web.config, и в любом случае я думал, что принудительное сохранение cookie сделает этот материал неуместным.
Мне также интересно, почему образец DotNetOpenId MVC не включает флажок RememberMe - может быть, там что-то сложно?
С другой стороны, здесь, в StackOverflow, я вижу, что меня автоматически запоминают через сеансы. Интересно, использовали ли они что-то другое, кроме DotNetOpenId, чтобы выполнить свою аутентификацию OpenId.
Кто-нибудь еще сделал RememberMe успешно с DotNetOpenId в ASP.NET MVC? Любые трюки?
[Обновление]
Спасибо за помощь, Андрей. Оказывается, это не о DotNetOpenId.
Я собираюсь после прочтения этого, что мой хостинг-провайдер, вероятно, регулярно перерабатывает пул приложений и заставляет шифрование билета аутентификации с новым машинным ключом.
В соответствии с предыдущей связанной статьей я добавил следующее в System.Web в свой Web.Config и решил проблему:
<machineKey
validationKey="(generated a new key to place here)"
decryptionKey="(generated a new key to place here)"
validation="SHA1"
decryption="AES" />