ADFS 2.0, SSO и SAML 2.0


Это классический пример того, что слишком много информации = слишком много путаницы. У меня есть ... ASP.NET веб-приложение, которое использует обычную проверку подлинности POST form и хотело бы реализовать SSO. Поскольку мы являемся магазином Microsoft, мы будем использовать ADFS 2.0. Чтобы реализовать SSO, я понимаю, что мне нужно будет также иметь WIF для обработки запросов SAML? Устанавливаю ли я WIF на том же сервере, что и ADFS?

Я все еще хочу перенаправить неудачные запросы SSO или запросы не SSO для использования формы, как мне справиться с этим?

Может кто-нибудь описать этот поток?

Спасибо!

2 3

2 ответа:

Итак, вы используете SAML для некоторых сторонних STS?

WIF (out the box) не поддерживает SAML.

Есть расширение WIF SAML, но это только CTP (Community Technology Preview) на данный момент.

WIF интегрирован с вашим ASP.NET применение. Для .NET 4 и ниже существует отдельная загрузка. Для .NET 4.5 он интегрирован.

WIF-это просто набор классов .NET внутри вашего приложения.

Вы интегрируете WIF с вашим ASP.NET применение с помощью инструмента под названием программы, которая является частью ВИФ скачать пакет SDK. (Вызываются "добавить СТС" внутри против).

ADFS install устанавливает WIF на сервере, но это отдельно для вашего приложения.

Поток таков:

.Net-приложения --> (ВИФ) --> (РВ-Федерация) --> ADF-файлы --> (протокол SAML) --> СЦ

ADFS поддерживает два протокола аутентификации. 1) протокол WS-Federation 2) Web SSO SAML Protocol

*в сценарии Ws-Federation * Для SSO между вашим приложением и ADFS (построить доверительные отношения).

1)  Install ADFS & WIF on one server , Create some users in AD. 

2) Generate Federation Metadata.xml file in ADFS, save it one place for
future need. 

3)  Use Windows Azure Access Control Service(ACS) for
simplicity. (It will do all heavy lifting of your  authentication
process of token coming from ADFS) 

4)  Generate Federation
Metadata.xml file in ACS and Import in your ADFS server as relying
party. (give some claims as well) 

[http://blogs.msdn.com/b/card/archive/2010/06/25/using-federation-metadata-to-establish-a-relying-party-trust-in-ad-fs-2-0.aspx?Redirected=true][1]

5)  Import federation metadata.xml
file from ADFS server to ACS and Add it as Identity provider. (add
claim processing rule) 

6)  Now in your web Application use WIF
FedUtil Tool and import ACS federation metadata.xml file.

Вот и все.. вы хорошо идете..

Для протокола SAML Web SSO у вас есть выполнять ручную работу по кодированию.

UseCase:

  1. Пользователь попадет в ваше приложение.

  2. Пользователь не аутентифицирован, поэтому он перейдет в ACS, и ACS перенаправит его на страницу входа в ADFS.

  3. Пользователь вводит учетные данные. Вопрос служб ADFS маркер для САУ с какими-то претензиями. АСУ будет преобразуйте входящие утверждения ADFS и передайте их в приложение.

  4. Теперь ваше приложение аутентифицировано, так что вы можете использовать утверждения и делать разрешение материал.

Вы можете использовать схему URL, чтобы проверить, куда этот запрос должен идти для проверки подлинности форм или проверки подлинности ADFS. напр.. : http://somedomain.com/forms или http://somedomain.com/ADFS