Проверка подлинности WCF с использованием учетных данных, встроенных в сообщение - PullRequest
1 голос
/ 03 июня 2011

Мы заменяем существующий веб-сервис, который поддерживает конечные точки SOAP и POX для большого количества клиентов.SSL обеспечивает безопасность транспорта, но сообщения содержат учетные данные (имя пользователя / пароль), встроенные в тела сообщения.Все привязки WCF SOAP, использующие защиту сообщений, требуют наличия учетных данных в заголовке сообщения, в то время как webHttpBinding поддерживает только учетные данные транспорта.

Однако из-за инфраструктуры приложения важно, чтобы я правильно настроил WCF снаши пользовательские объекты Principal и Identity.Насколько мне известно, единственный способ сделать это - через IAuthorizationPolicy.

Мы добавили наш собственный ServiceAuthorizationManager и указали, что хотим использовать PrincipalPermissionMode.Custom.Я создал IDispatchMessageInspector, который проверяет сообщения и может создать ClaimSet для использования нашим настраиваемым ServiceAuthorizationManager.

Однако я не могу найти способ передать этот ClaimSet в ServiceAuthorizationManager или установить принципал / идентификатор.

Поскольку мне нужно настроить WCF, чтобы он не использовал ни один из его встроенных механизмов аутентификации,кажется, что любые объекты IAuthorizationPolicy, которые я настраиваю, просто не вызываются, потому что WCF считает, что мы используем анонимную аутентификацию.

Возможно ли получить WCF для оценки IAuthorizationPolicy, если он считает, что аутентификация является анонимной?Есть ли более простой способ извлечь учетные данные из сообщения и интегрировать их в стандартный конвейер обработки WCF?

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