Сценарий аутентификации WIF.Вопросы внедрения STS - PullRequest
4 голосов
/ 01 сентября 2010

Мы рассматриваем возможность использования WIF для аутентификации наших пользователей, поэтому я начал собирать информацию о том, как сделать это правильно. Главным образом, как мы должны создать STS. Мне было трудно найти некоторую информацию о нашем сценарии, где у нас есть «основная» служба, которая будет использоваться клиентами как внутренними, так и внешними.

Внутренние клиенты будут подключаться к сервису по протоколу TCP. Настольные клиенты, используемые нашими сотрудниками, должны проходить проверку подлинности в службе, используя свои учетные данные домена (Active Directory). Кроме того, у нас есть небольшое количество приложений, которые используют сервис для обработки данных. Мы хотели бы выдать сертификат для этих приложений. Затем они будут аутентифицироваться через STS, используя этот сертификат, и возвращается токен, содержащий утверждения для этого приложения. Это возможно?

Внешние клиенты будут подключаться через HTTP, аутентифицироваться с использованием имени пользователя / пароля (веб-клиент) или с помощью сертификата, подобного указанному выше.

Это правильный сценарий? Как бы вы реализовали это в WIF? Можете ли вы указать мне некоторые статьи, которые, по вашему мнению, помогут? Могу ли я решить эту проблему с помощью одного STS (WCF) или мне нужно более одного? Может ли один STS обрабатывать более одного типа учетных данных (AD / имя пользователя / сертификат)?

Заранее спасибо. Любая помощь будет высоко ценится.

1 Ответ

5 голосов
/ 02 сентября 2010

Да, это легко сделать с помощью WCF и WIF. Вам нужна только реализация или служба STS с тремя конечными точками WCF. Одна конечная точка для net.tcp с аутентификацией Windows, одна конечная точка для аутентификации с помощью сертификатов (это может быть защита сообщений с помощью учетных данных клиента X509 или безопасность транспорта Http с учетными данными X509) и другая конечная точка для имени пользователя и пароля. Возможно, вы захотите взглянуть на STS Starter Kit от Доминика Байера, я думаю, он уже предоставил реализацию для этого в этом проекте.

Это вопрос предоставления службы STS с двумя конечными точками следующим образом:

ADFS не требуется, если вы используете WIF. ADFS - это интегрированное решение, которое интегрируется с AD и монтирует STS поверх него. Вы всегда можете реализовать свой собственный STS и предоставить дополнительную конечную точку для проверки подлинности Windows в конфигурации привязки

Спасибо Пабло.

...