Подходит ли веб-служба WCF для не-Microsoft SOAP-клиентов? - PullRequest
2 голосов
/ 23 февраля 2012

Мне нужно создать веб-сервис для сбора данных из приложений моего клиента.

Эти приложения запрограммированы с использованием различных технологий, и все они имеют одну общую черту: они могут использовать простую веб-службу SOAP.

У меня уже есть служба WCF, которую можно открыть, но, поскольку она была создана только для внутренних целей, мне никогда не приходилось защищать ее.

Я прочитал много статей о том, как защитить службу WCF и как использовать ее из клиентского приложения Microsoft. Тем не менее, я действительно обеспокоен тем, что клиентские приложения, не принадлежащие Microsoft, могут реализовывать стандартную службу безопасности WCF. Я должен помнить, что некоторые из них могут не иметь состояния и не могут удерживать сеанс или что-либо, что может потребоваться для безопасной службы WCF.

Итак, вот варианты, которые у меня есть сейчас.

1) Добавьте параметры имени пользователя / пароля для каждой функции WCF и выполняйте проверку учетных данных при каждом вызове. (У меня есть сертификат SSL ... достаточно ли этого варианта считать защищенным?)

2) Отбросьте мою службу WCF и создайте простую веб-службу SOAP с параметрами имени пользователя и пароля, как указано в варианте № 1, чтобы приблизиться к возможностям приложений моего клиента.

3) Внедрить стандартную безопасность WCF и позволить клиентам найти способ справиться с ней самостоятельно. (Настоящий вопрос здесь: достаточно ли проста безопасность WCF для реализации любым SOAP-клиентом?)

4) Измените мое имя и переезжайте на Ямайку с деньгами моих клиентов, прежде чем они узнают, что я являюсь новичком в области безопасности веб-службы.

5) Что-то еще ...

Так какой мой лучший вариант здесь?

Ответы [ 2 ]

2 голосов
/ 23 февраля 2012

Да, я могу предложить вариант, который мы используем. Звучит так, как вы хотите basicHttpBinding .

У нас есть веб-сервис WCF, использующий basicHttpBinding и настроенный IIS для использования обычной проверки подлинности http .

Поэтому клиенты, не входящие в .NET, могут легко его использовать (basicHttpBinding), и мы можем предоставить им учетную запись домена Active Directory, которая позволяет им получать доступ через IIS. Нет имен пользователей / паролей для постоянной отправки туда и обратно через веб-сервис, и он работает по HTTPS для безопасности.

В настоящее время он используется клиентами PHP, Java и .NET. Да, клиенты .NET по-прежнему могут импортировать это как ссылку на службу, что упрощает перехват FaultExceptions.

Ни одно решение не идеально подходит для всех, но отлично работает для наших нужд.

1 голос
/ 23 февраля 2012

Да, но определенные конфигурации предпочтительны для определенных поставщиков. Смотрите проект WCF Express Interop Bindings на CodePlex:

http://wcf.codeplex.com/wikipage?title=WCF%20Express%20Interop%20Bindings

Они предлагают настройки для взаимодействия с:

  • Oracle WebLogic
  • Oracle Metro
  • IBM WebSphere
  • Apache Axis2

Стек Oracle Metro (ранее известный как SUN WSIT) на сегодняшний день является самым передовым в отношении стандартов WS - * / Oasis.

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