Создайте безопасное приложение с basicHttpBinding - PullRequest
1 голос
/ 27 июня 2010

Я действительно очень устал сегодня из-за этой проблемы. Я создаю приложение XBAP (приложение браузера WPF), которое использует службу WCF. Это приложение требует:

  • Пользователи могут войти, используя свое имя пользователя и пароль (которые хранятся в моей базе данных)
  • Пользователям не требуется устанавливать сертификат X509 (* .pfx или * .cert ...)
  • Служба WCF должна использовать basicHttpBinding (для поддержки другого приложения silverlight)

Я много пробовал, но они не соответствуют этим требованиям. У вас есть какое-нибудь решение? Заранее спасибо.

1 Ответ

2 голосов
/ 27 июня 2010

basicHttpBinding - как следует из названия - очень прост в том, что он предлагает. Это особенно важно, когда речь заходит о безопасности.

Насколько я знаю, вы не можете достичь того, что пытаетесь сделать. BasicHttpBinding поддерживает только безопасность транспорта (с использованием протокола https) с учетными данными Windows (не подходит для Интернета с настраиваемыми пользователями) или цифровыми сертификатами, а также защиту сообщений с помощью цифрового сертификата (который вы явно исключаете - почему ??).

Ознакомьтесь с этой статьей CodeProject 8 шагов, чтобы включить проверку подлинности Windows в WCF BasicHttpBinding или Google для «basicHttpBinding security» - вы найдете множество статей, но, вероятно, не найдете реального решения ваших требований - вы просто не можете сделать это с помощью BasicHttpBinding.

Обновление: по умолчанию в WCF, вы должны передавать учетные данные вызывающего абонента при каждом вызове - но не в качестве параметров метода службы, а вместо этого, указав учетные данные клиента на прокси-сервере службы, созданном на стороне клиента , Что-то вроде:

 myService.ClientCredentials.UserName.UserName = "username";
 myService.ClientCredentials.UserName.Password = "p@ssw0rd";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...