Я использую клиентские сертификаты в сеансах SSL для аутентификации пользователей, но у меня есть небольшая проблема с кэшированными сеансами. (Я настроил IIS для приема & mdash; не требовать & mdash; клиентских сертификатов.)
Нормальная ситуация:
Пользователь получает доступ к странице, которая запрашивает сертификат. Браузер запускает селектор сертификатов, пользователь выбирает нужный сертификат (и при необходимости вводит PIN-код), и все идет вперед, как и должно.
Ситуация, когда все работает не так, как ожидалось:
Пользователь получает доступ к странице, которая запрашивает сертификат. Браузер запускает селектор сертификатов, и пользователь выбирает нужный сертификат, но затем отменяет его в диалоговом окне PIN-кода. Пользователь перенаправлен на предыдущую страницу, потому что сертификат не был отправлен. Пользователь пытается войти снова, но попытка автоматически завершается неудачей, поскольку последний сеанс SSL был кэширован.
Я решил это в IE, используя document.execCommand("ClearAuthenticationCache");
, но он все еще не работает в FF или Chrome, потому что они не поддерживают метод. Есть ли способ решить эту проблему?