SSO между несколькими приложениями (веб и silverlight) в нескольких доменах - PullRequest
1 голос
/ 22 июля 2011

Вот моя ситуация,

У меня есть пара приложений: - веб-сайт, использующий .net cms, работающий извне на веб-хосте без активного домена каталога (аутентификация на основе аутентификации форм с базой данных cms) - несколько приложений Silverlight, работающих внутри сети клиента и домена (аутентификация через активный каталог, сопоставленная с пользовательской таблицей в базе данных, приложение в настоящее время не публикуется извне)

Допустим, я хочу, чтобы все эти приложения могли аутентифицировать пользователей не в своих собственных базах данных, а в централизованной базе данных. (не все приложения работают в другой сети, сопоставление с локальными учетными записями пользователей допустимо, поскольку приложение может хранить роли пользователей и т. д.) На пользователя я хочу сохранить, к какому клиенту он принадлежит, если у него есть права на использование приложения и больше личной информации

обратите внимание, что в будущем это также должно работать для приложений Windows Forms / WCF, поэтому файлы cookie не являются опцией.

Как лучше всего это сделать?

Я думал о создании опубликованного мыльного сервиса с базой данных, в которой хранится вся информация, а затем для каждого приложения напишите некоторую логику для аутентификации с использованием этого веб-сервиса. Однако я не хочу публиковать всю эту информацию через веб-сервисы, к которым имеет доступ каждый. Если я защищаю этот веб-сервис базовой аутентификацией в домене, учетные данные передаются в чистом тесте, это не вариант, когда речь идет о личной информации пользователя.

У кого-нибудь есть идеи, как с этим справиться?

1 Ответ

0 голосов
/ 04 сентября 2011

Вы можете использовать веб-протоколы на основе протоколов федерации, таких как SAML или WS-Federation.В вашем случае наиболее очевидное решение будет основано на службах федерации Active Directory.

Вы устанавливаете центральный сервер аутентификации на основе ADFS и развертываете агент ADFS на каждом из ваших веб-серверов.Когда пользователь пытается получить доступ к одному из приложений, он будет перенаправлен на центральный сервер аутентификации.Этот сервер будет отвечать за его аутентификацию, возможно, проведет некоторую проверку контроля доступа и отправит обратно маркер безопасности в ваше приложение.Все это кинематографическое не зависит от куки, но данные обмениваются через браузер пользователя с помощью методов POST / GET.Следует также отметить, что он хорошо интегрирован с платформой Windows Identity Foundation (WIF), и поэтому не должно быть проблем с приложениями Windows Forms / WCF.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...