Прозрачный SSO с SAML (IE, SAML 2.0, ADFS, Kerberos аутентификация) - PullRequest
6 голосов
/ 07 февраля 2012

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

Ответы [ 4 ]

8 голосов
/ 14 сентября 2012

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

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

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

3 голосов
/ 01 марта 2013

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

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

  1. Откройте диспетчер служб ADFS 2.0
  2. Выберите «Изменить свойства службы федерации»... "из правого верхнего угла.Откроется окно свойств службы федерации
  3. Измените идентификатор службы федерации, чтобы он соответствовал URL-адресу провайдера идентификации (IdPURL), переданному из приложения единого входа.
3 голосов
/ 16 февраля 2012

Это не ответ, это скорее обновление моего вопроса, но это важно, и я решил поместить его в качестве ответа, чтобы привлечь к нему больше внимания. Что я понял, играя в течение нескольких дней с параметрами 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/' не является префиксом входящего сообщения SAML URI назначения' https://adfsserver/adfs/ls/'". Кстати, мы использовать SSO только в нашей локальной интрасети, поэтому я не знаю, почему возникает это исключение. Любой обходной путь?

1 голос
/ 13 февраля 2012

Попробуйте: 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>

...