Вот моя ситуация,
У меня есть пара приложений:
- веб-сайт, использующий .net cms, работающий извне на веб-хосте без активного домена каталога
(аутентификация на основе аутентификации форм с базой данных cms)
- несколько приложений Silverlight, работающих внутри сети клиента и домена
(аутентификация через активный каталог, сопоставленная с пользовательской таблицей в базе данных, приложение в настоящее время не публикуется извне)
Допустим, я хочу, чтобы все эти приложения могли аутентифицировать пользователей не в своих собственных базах данных, а в централизованной базе данных. (не все приложения работают в другой сети, сопоставление с локальными учетными записями пользователей допустимо, поскольку приложение может хранить роли пользователей и т. д.)
На пользователя я хочу сохранить, к какому клиенту он принадлежит, если у него есть права на использование приложения и больше личной информации
обратите внимание, что в будущем это также должно работать для приложений Windows Forms / WCF, поэтому файлы cookie не являются опцией.
Как лучше всего это сделать?
Я думал о создании опубликованного мыльного сервиса с базой данных, в которой хранится вся информация,
а затем для каждого приложения напишите некоторую логику для аутентификации с использованием этого веб-сервиса.
Однако я не хочу публиковать всю эту информацию через веб-сервисы, к которым имеет доступ каждый.
Если я защищаю этот веб-сервис базовой аутентификацией в домене, учетные данные передаются в чистом тесте, это не вариант, когда речь идет о личной информации пользователя.
У кого-нибудь есть идеи, как с этим справиться?