Насколько совместима WS-Security? - PullRequest
3 голосов
/ 28 декабря 2011

Я недавно работал над проектом, в котором был задействован сервис WCF, и wsHttpBinding использовался для аутентификации. Третья сторона, использующая сервис с PHP, жаловалась, что этот подход не работает «из коробки» в PHP и что он недостаточно взаимодействующий (они предпочли подход RESTful, передавая учетные данные с помощью GET ..)

Я никогда не пользовался сервисом с PHP, их аргумент содержит какую-то воду?

Расширить:

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

Дополнительное примечание:

Я использую TransportWithMessageCredential, учетные данные проверяются в службе, а не IIS. Каков предпочтительный способ предоставления учетных данных службе RESTful таким способом? (это должен быть отдельный вопрос?). Мне просто интересно, если это даже жизнеспособная альтернатива в этом сценарии.

Ответы [ 2 ]

1 голос
/ 29 декабря 2011

У меня была такая же проблема с некоторыми из моих клиентов (также вызывая мою службу из PHP).

Итак, мы только что представили дополнительную basicHttpBinding Конечную точку.

Я использую Transport security с UsernamePassword аутентификация в этой конечной точке.

0 голосов
/ 28 декабря 2011

Это правда, что REST очень легко реализовать на широком спектре программных платформ и операционных систем (включая, например, PHP на Linux-боксе, который является очень распространенной установкой).

WS-Security, как расширение SOAP, является стандартизированным протоколом, и существуют реализации для других платформ, отличных от .NET. Тем не менее, диапазон бесплатных библиотек здесь очень ограничен (для PHP я не знаю ни одной), и это, безусловно, означает больше усилий для подключения к службе WS-Security, чем к простой службе REST, по крайней мере, если служба использует протокол функции, которые выходят за рамки простого SOAP.

Еще одна вещь: в HTTP встроена поддержка аутентификации, поэтому вы можете полностью реализовать аутентифицированную службу RESTful без добавления учетных данных к запрошенному URL.

...