2012-02-07 5 views
5

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

+0

Что обеспечивает поддержку SAML в вашем RP? Вы используете WIF или что? – nzpcmad

+0

Библиотека ComponentSpace.SAML.2 используется для перенаправления пользователя в ADFS 2.0, так же, как это делается в образцах, предоставляемых библиотекой. Протокол POST – YMC

ответ

7

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

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

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

1

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

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

+0

К сожалению, я не могу найти способ сделать это с помощью Component Space SAML v.2. Существует объект AuthnRequest, который используется для формирования запроса на аутентификацию SAML 2.0, но в этом нет ссылки на этот класс проверки подлинности. – YMC

1

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

2

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

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

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