У нас есть приложение ASP.NET MVC, которое использует WIF и классический SessionSecurityTokenHandler
, что означает, что файл cookie WIF подписан с использованием DPAPI.ASP.NET WIF изменяет обработчик маркера безопасности и избегает CryptographicException
Мы хотели бы переключить обработчик маркера безопасности на MachineKeySessionSecurityTokenHandler
, потому что мы хотим масштабировать наше приложение на несколько экземпляров (веб-ферму) в развертывании веб-приложений Azure. Это означает, что файл cookie WIF будет подписан с помощью машинного ключа (который используется совместно с экземплярами веб-приложений).
Проблема, с которой мы сталкиваемся, связана с пользователями, у которых уже есть файл cookie, инициализированный для приложения. Если мы жестоко изменим обработчик токенов, эти пользователи получат уродливую страницу HTTP 500 из-за CryptographicException
, потому что подпись cookie недействительна.
Есть ли способ предотвратить ошибку и вместо этого отказаться от устаревшего файла cookie или позволить пользователю снова аутентифицироваться?