basicHttpBinding с пользовательским логином / паролем и HTTPS - PullRequest
1 голос
/ 06 сентября 2011

После долгих поисков, я прошу вашей помощи в решении проблемы, которая кажется простой, но ... на самом деле нет.

Как я могу использовать вместо этого пользовательский логин / пароль, как в этом уроке, с basichttpbindingWSHttpBinding?http://codebetter.com/petervanooijen/2010/03/22/a-simple-wcf-service-with-username-password-authentication-the-things-they-don-t-tell-you/

Мне это нужно, потому что клиенты для моего веб-сервиса могут быть на PHP, и я обнаружил, что WSHttpBinding не работает с реализацией PHP Soap.

Спасибо заранее!

Ответы [ 2 ]

1 голос
/ 12 сентября 2011

Хорошо, наконец-то я обошелся без HTTPS, но это работает!

Я использовал следующие ссылки для создания чистого веб-сервиса:

http://channel9.msdn.com/Shows/Endpoint/Endpoint-Screencasts-Creating-Your-First-WCF-Service http://laedit.developpez.com/PHP/CSharp/Interoperabilite/#LIV (по-французски покажите номинал wcf)

А потом я наконец создаю файл app.config, который работает: http://pastebin.com/cVGC88Gj. Это модифицированная версия примера, сделанного во второй ссылке.

А это пользовательский код аутентификации: http://pastebin.com/QucGKqZt

Помните, что этот код НИКОГДА НЕ ДОЛЖЕН БЫТЬ В ПРОИЗВОДСТВЕ. ПАРОЛИ ОТПРАВЛЯЮТСЯ В ЧИСТЫЕ В ЖАТКИ. Но для разработки это чисто и просто; -)

1 голос
/ 06 сентября 2011

Несмотря на то, что фактический код в этом примере MSDN использует wsHttpBinding, пользовательский код валидатора пользователя / пароля также применим для базового использования HttpBinding. Посмотрите на код в этом сообщении в блоге , чтобы увидеть базовую специфическую конфигурацию HttpBinding для использования пользовательского валидатора. Просто помните, что WCF по умолчанию будет поддерживать только безопасную связь между клиентом и сервисом. Это означает, что базовая конфигурация HttpBinding, показанная в сообщении в блоге, должна быть более HTTPS .

...