Вопросы по сервису wcf для сторонних интеграторов - PullRequest
1 голос
/ 15 июня 2011

Некоторые компании заинтересованы в интеграции нашего программного обеспечения с их программным обеспечением.Мы начинаем изучать возможность предоставления им веб-сервиса через Интернет.Мы будем строить веб-сервис с использованием WCF.Мы не можем гарантировать, что каждый интегратор будет использовать WCF или .NET, поэтому совместимость важна.

Мы хотели бы аутентифицировать каждого стороннего интегратора, когда он вызывает наши сервисные операции с именем пользователя и паролем.Кроме того, я прочитал, что аутентификация клиента может быть достигнута с использованием сертификатов, но это кажется сложным.

Мы планируем разместить службу в IIS.

Параметры, доступные в WCF, огромны.Исходя из вышеизложенного, какая конфигурация (привязки / безопасность) будет рекомендована?

Можно ли использовать IIS для хостинга, basicHttpBinding, поставщика членства для аутентификации и SSL для шифрования?Будут ли эти вещи хорошо работать на концерте?

1 Ответ

1 голос
/ 15 июня 2011

Обязательно используйте BasicHttpBinding и HTTPS. BasiHttpBinding предоставляет простейшие совместимые сервисы SOAP, а HTTPS гарантирует безопасность передачи между клиентом и вашим сервисом.

Для аутентификации пользователей вы можете использовать TransportWithMessageCredential режим безопасности BasicHttpBinding. Эта конфигурация безопасности предполагает стандартизированный заголовок SOAP (профиль токена имени пользователя) в сообщении. Заголовок (в случае WCF) содержит имя пользователя и пароль в виде простого текста. Обычный текст в этом случае не является проблемой, поскольку весь транспорт защищен с помощью SSL (HTTPS). Даже если ваши клиенты не являются WCF и не имеют никакого специального стека SOAP, добавить этот заголовок будет довольно просто. Кроме того, использование этого типа аутентификации напрямую позволяет вам проверять имя пользователя у провайдера членства или писать собственный валидатор пароля.

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