Вопрос

Я создаю веб-сервис, который должен быть доступен для множества потенциальных платформ, включая ряд старых приложений ASP и ASP .NET.После некоторых исследований я остановился на службе WCF с конечной точкой REST (webHttpBinding) и SOAP (wsHttpBinding) (таким образом я могу поддерживать широкий спектр платформ и по-прежнему радовать программистов .NET).

В целях безопасности я использую базовую аутентификацию SSL и HTTP для своей собственной базы данных имен пользователей и паролей.Поэтому я написал HttpModule для обработки имен пользователей и паролей и проверки SSL.Теперь настройка REST работает отлично, но у меня возникли проблемы с конечной точкой SOAP.Независимо от того, какие настройки я использую, клиент SOAP никогда не отправляет мне заголовок WWW-Authorization, который я могу использовать для аутентификации.Я предполагаю, что установка что-то вроде <message clientCredentialType="UserName" /> должен сообщить WCF, что я ожидаю заголовок авторизации, и эта информация будет получена Visual Studio (или любым другим клиентом) при создании веб-ссылки.Возможно, я просто безнадежно наивен.

Итак, подытожим вопрос:Могу ли я каким-либо образом сказать WCF отправить мне заголовок WWW-Authorization (т. е. базовый заголовок HTTP) вместе с мыльными сообщениями?

Это было полезно?

Решение

Вы можете создавать собственные заголовки для аутентификации.

Взгляни здесь

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top