Служба WCF с .NET 2.0 и Java-клиентами - PullRequest
0 голосов
/ 01 декабря 2009

Моя служба WCF комплектуется .NET 3.5, и я использовал wsHttpBinding при реализации своей службы.

Для клиентов .NET 3.5 проблем не было, но у клиентов .NET 2.0 и Java были проблемы в wsHttpBinding.

Итак, я добавил новую конечную точку с basicHttpBinding с такой же безопасностью, как wsHttpBinding, имея в виду следующие критерии:

  • Я хотел бы использовать пользовательское имя пользователя / пароль, пока включена защита транспорта.
  • Аутентификация Windows невозможна.
  • Я бы не хотел добавлять пользовательские заголовки к сообщениям SOAP для аутентификации.

Моя основная конфигурация HttpBinding:

<basicHttpBinding>
            <binding name="MyService.basicSecureBinding">                                       
                <security mode="TransportWithMessageCredential">
                    <transport clientCredentialType="None" proxyCredentialType="None"/>
                    <message clientCredentialType="UserName" algorithmSuite="Basic128"/>
                </security>
            </binding>
        </basicHttpBinding>

и в ServiceBehavior Пользовательский класс UsernameValidator объявлен.

Но похоже, что «TransportWithMessageCredential» нельзя использовать из клиентов .NET 2.0 и для того, чтобы включить пользовательскую проверку имени пользователя, необходима безопасность сообщений.

Есть ли у вас какие-либо предложения или рекомендации для решения этой проблемы?

1 Ответ

1 голос
/ 01 декабря 2009

Я думаю, вы должны использовать WSE на стороне .NET 2.0.

Эта ссылка может вам помочь:

Совместимость между WCF и WSE 3.0

...