Существует следующий дизайн: серверная часть реализована в виде WCF, общедоступный фронт-сайт и два сайта интрасети (все три взаимодействуют с серверной частью). Я считаю, что аутентификации на сайтах недостаточно (т.е. передача ClientID в WCF в каждом запросе в качестве параметра), и я хочу защитить свой бэкэнд (WCF) с помощью аутентификации, чтобы выполнить двойную проверку и иметь PrincipalPermission
для методов с указанными ролями.
Я уверен, что имена пользователей обоих провайдеров не пересекаются (общедоступные имена входа - только цифры, а в интрасети будет что-то вроде «ДОМЕН \ Логин»). Первый сайт использует формы auth, а его провайдер возвращает GenericPrincipal
. Сайты интрасети используют аутентификацию Windows, и у меня есть WindowsPrincipal
, прикрепленный к Page.User
.
Можно ли настроить WCF для использования двух провайдеров членства (пользовательский, который используется на переднем сайте, и Windows) из коробки, без написания другого пользовательского кода? Это важно, как мой WCF размещен? В настоящее время это служба Windows. Мне нужно переключиться на IIS 7?