Мы начинаем создавать целую кучу новых сервисов для создания (WCF, ADO.NET Data Services, возможно, в облаке в какой-то момент), и один вопрос, который появляется, - это схема аутентификации и авторизации - там довольно много!
В основном мы должны иметь возможность идентифицировать пользователей (фактических пользователей и "виртуальных" пользователей приложений/сервисов) в самых разных протоколах - HTTP, HTTPS, TCP - и нам нужно назначить им по крайней мере кучу ролей/разрешение на просмотр определенных данных и/или выполнение определенных операций.
Мы определенно не можем использовать только членство в группе Windows - у нас много внешних пользователей наших сервисов, и мы не хотим настраивать учетную запись домена в нашем внутреннем домене для каждого из них.
Итак, в основном три варианта, я думаю:
- Использование системы членства ASP.NET - создание пользователей и назначение ролей там
- Используйте AzMan (диспетчер авторизации), который выглядит более гранулированной, более зрелой, более сложной системой (с пользователями, задачами, группами - три уровня, а не только пользовательские роли).
- Скачайте наши собственные
Прежде всего - какой из этих трех вы бы порекомендовали? Почему?
Во-вторых - есть ли еще варианты, которые мне не хватает?
Спасибо за любые подсказки, указатели, мнения!
Марк
PS: видя ответы до сих пор, я поражен количеством голосов, голосовавших за вариант № 3. Я бы подумал, что MS сможет разработать что-то многоразовое, которое могло бы справиться со всеми этими требованиями....