Прозрачный SSO с SAML (IE, SAML 2.0, ADFS, аутентификация Kerberos)

конфигурация: ADFS 2.0 как IdP (поддерживаются WS-Federation и SAML 2.0), ASP.NET app В качестве поставщика услуг. Когда SPS запрашивает ADFS со стандартом WS-Federation (используется WIF), он позволяет мне автоматически входить в ADFS без всплывающего окна входа, даже если начался новый сеанс, так что токен Kerberos выполняет свою работу хорошо, как ожидалось. Однако в случае SAML 2.0 (ComponentSpace.стандарт SAML.2 lib используется) каждый раз, когда я открываю IE9 и перенаправляюсь в ADFS, меня просят ввести мой домен windows учетные данные в стандартном маленьком всплывающем окне входа. Любой параметр SAML 2.0 или другая техника позволяют мне избавиться от этого окна, как в случае WS-Fed? Спасибо

4 ответов


adfsserver.us.mycompanyname.com/adfs/ls находится в интернет-зоне и автоматического входа в систему не произойдет.

adfsserver/adfs / ls находится в вашей зоне интрасети в IE и автоматически войдет в систему.

вы можете добавить adfsserver.us.mycompanyname.com к вашему списку доверенных (или интрасети) сайтов и вам не должно быть предложено ввести учетные данные.


вы можете изменить пассивный сервер конечных точек, выполнив следующие шаги:

http://breakingdevelopment.blogspot.in/2012/12/adfs-msis1006-i-am-working-on-sso.html

  1. Откройте Диспетчер служб ADFS 2.0
  2. Выберите " Изменить Свойства Службы Федерации...- из верхнего правого угла. Откроется окно свойств службы Федерации
  3. измените идентификатор службы Федерации в соответствии с URL-адресом поставщика удостоверений (IdPURL) передано из вашего приложения SSO.

Это не ответ, это скорее обновление на мой вопрос, но это важно и я решил поставить его в качестве ответа, чтобы привлечь к нему внимание. То, что я выяснил, играя с параметрами SAML в течение нескольких дней, похоже, не зависит от протокола (WS-Federation/SAML2). На самом деле это зависит от длинного / короткого доменного имени сервера adfs, так что запрос Аутентификации, как https://adfsserver.us.mycompanyname.com/adfs/ls делает это окно появиться, в то время как https://adfsserver/adfs/ls нет. Однако я не могу использовать короткое доменное имя для SAML 2.0, я получаю ошибку в случае: "MSIS1006: настроенная пассивная конечная точка "https://adfsserver.us.mycompanyname.com/adfs/ls/' не является префиксом URI назначения входящего сообщения SAML 'https://adfsserver/adfs/ls/'". Кстати, мы используем SSO только в нашей локальной интрасети, поэтому я не знаю, почему происходит это исключение. Есть обходной путь?


попробуй: urn:federation:authentication:windows вместо: urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport в этой части запроса аутентификации SAML 2.0:

<saml:AuthnContextClassRef xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">urn:federation:authentication:windows</saml:AuthnContextClassRef>