2015-08-28 4 views
0

Я ударил эту проблему с выводом в течение длительного времени и не смог найти решение. Вначале мой сайт, использующий ADFS 2.0, не мог выписать, даже если был открыт правильный URL-адрес рассылки. Я думал, что некоторые куки не очищены. После этого я обнаружил, что это, вероятно, проблема сервера ADFS.ADFS 2.0, как очистить кеш учетных данных?

Я попытался:

  1. Остановить сервер IIS, так что я не имею мой сайт вообще, только тестирование ADFS.
  2. Очистить cookies браузера. Закрыть и снова открыть. Так что это чисто.
  3. Непосредственно подключитесь к adfs, например: https://mydomain/adfs/ls/?wtrealm=mysite&wa=wsignin1.0, здесь я получаю всплывающее окно для имени пользователя и пароля.
  4. Прямой выход из системы: https://mydomain/adfs/ls/?wtrealm=mysite&wa=wsignout1.0
  5. Очистить cookies браузера.
  6. Попробуйте войти в систему, используя URL-адрес от 3 снова. Я вошел в систему и не вижу всплывающих окон. В инструменте разработчика браузера. Я вижу перенаправление на мой сайт.

Я использовал Fiddler для захвата трафика, кажется, что аутентификация использует NTLM. Похоже, что браузер получил учетные данные откуда-то (а не в файлах cookie, как было подтверждено). Единственный способ получить всплывающее окно - закрыть процесс браузера и снова открыть URL-адрес входа. Кто-нибудь знает, как это сделать?

ответ

0

Это связано с тем, что ваша служба ADFS внутри вашего corpnet использует встроенную проверку подлинности Windows и позволяет вам беспрепятственно использовать новый билет службы AD для службы ADFS (технически другая проверка подлинности). Это ничем не отличается от веб-приложения IIS, поддерживающего встроенную проверку подлинности Windows.

Вы не увидите этого, если хотите получить доступ из экстрасети.

В некоторых сценариях вы заботитесь о входе пользователя в систему для входа в систему. Способ сделать это (2012R2 - выбор здесь)

  1. Настроить МИД на службу ADFS и для приложения, требуется MFA. Это, по существу, должно было бы легко подписать вам, но запросить для второго фактора
  2. Augment (более высокая безопасность), чтобы игнорировать любой SSO (по умолчанию для веб-узла 8 часов) и установите флаг «AlwaysRequireAuthentication» в приложении.

Это улучшает работу с ADFS 2016, где мы поддерживаем приглашение = login через WS-Fed или OAuth/OpenIDConnect, который игнорирует даже шаблон Windows SSO.

Надеюсь, что это поможет.

Благодаря // Сэм (Twitter: @MrADFS)

+0

Спасибо за пояснения. Требуется ли 2012R2 для решения? Моя ADFS находится на 2008R2. – bigbearzhu

+0

Для указанных опций да, поскольку это новые возможности, которые мы добавили в 2012R2. Существует 3-й вариант, который я не рекомендую, так как это может привести к неправильному поведению для вас, чтобы вы запросили «wauth = password-uri» wrefresh = 0, который заставляет U/P auth. Это работает в 2008R2. –

Смежные вопросы