Метод аутентификации службы WCF - PullRequest
0 голосов
/ 28 июля 2011

Сейчас я создаю сервис WCF SOAP.Мне, конечно, потребуется некоторая аутентификация в сервисе.

Чтение этого очень полезного сообщения в блоге говорит, что для использования встроенных точек аутентификации требуется, чтобы конечная точка использовала wsHttpсвязывание.

Это было бы хорошо, если бы я мог гарантировать, что пользователи будут взаимодействовать со службой через клиента на основе метаданных, предоставляемых WCF (в основном, что-то вроде клиента, написанного на C # со ссылкой на веб-службу),Однако я не могу этого гарантировать!

Мне все еще нужно разрешить пользователям общаться только с необработанным (незашифрованным) XML.

Итак, вопросы:

  1. Позволяет ли привязка wsHttp по-прежнему вводить необработанный XML-код?
  2. Если нет, то был бы я мудрее
    • Реализовать две отдельные точки аутентификации?Один для необработанного ввода XML и один для зашифрованного ввода Или
    • Разрешить ввод от wsHttp использовать некоторую проверку в методе, которая будет использоваться совместно с вводом необработанного XML?
  3. Разумно ли разрешать пользователям передавать свои учетные данные в необработанном XML-запросе?

РЕДАКТИРОВАТЬ: Звучит так, как будто я что-то не так понял или неправильно понял в своем исходном сообщении,поэтому здесь я поясню, что я имею в виду под «необработанным XML».

Под необработанным XML я подразумеваю только пакет SOAP и сопутствующие заголовки HTTP - как я мог бы отправить из soapUI или Fiddler.Насколько я понимаю, сообщения через привязку wsHttp зашифровываются, когда клиент генерируется из WSDL (например, в C #).

Если это не так, то как мне будет подключатьсяте же самые учетные данные для необработанного XML-запроса (если нет лучшего термина), когда я выполняю запрос через клиента?Они прикреплены как заголовки HTTP?Элементы XML в конверте SOAP?

1 Ответ

0 голосов
/ 29 июля 2011

wsHttp - это привязка SOAP, что означает, что ваш контент упакован в конверт SOAP, возможно, с заголовками, относящимися к сообщению, и различными используемыми спецификациями WS- *.

Я бы спросил, зачем вам нужен необработанный XML? Сегодня большинство платформ поддерживают обмен сообщениями SOAP, и вся идея SOAP заключается в обеспечении взаимодействия между различными платформами. На большинстве платформ SOAP-клиент разрабатывать так же легко, как и сырой XML-клиент. В большинстве случаев это просто случай взятия WSDL и генерации клиента. Если вы хотите использовать стандартные средства, такие как аутентификация и шифрование сообщений, тогда это гораздо лучший способ.

В настоящее время нет никаких хуков для совместимой аутентификации для необработанного XML. Вам придется придумать свой собственный механизм для этого, и он будет нестандартным. Для пользователей вашей веб-службы это означает, что это, вероятно, потребует больше усилий по разработке, чем если бы вы только что использовали SOAP.

...