Какой режим аутентификации basichhtpbinding можно использовать для защиты службы WCF с использованием потоковой передачи? - PullRequest
3 голосов
/ 08 июля 2010

Подробная информация о моем сервисе:

  1. Служба загрузки файлов
  2. Режим передачи настроен на поток
  3. Сервис размещен в IIS 7.

Мне нужно обеспечить безопасность моего сервиса.Я пытался использовать ntlm и windows secuirty. Я получал следующую ошибку, когда пытался защитить свою службу

"Потоковая передача HTTP-запросов не может использоваться в сочетании с аутентификацией HTTP. Отключите потоковую передачу запросов или укажите анонимный HTTPАутентификация. "

Я нашел описание, в котором говорится: Описание:

Невозможно выполнить авторизацию транспорта.с потоковымЕсли вам нужно использовать потоковую передачу HTTP-запросов, вам придется работать без защиты.

Итак, я хочу знать, как я могу защитить свой сервис?Какой безопасный режим я могу использовать с basichttpbinding? Может кто-нибудь PLS помочь мне в этом?

1 Ответ

6 голосов
/ 07 июня 2011

Вы можете попробовать использовать TransportWithMessageCredential:

<bindings>
  <basicHttpBinding>
    <binding name="securedStream" transferMode="streamed">
      <security mode="TransportWithMessageCredential">
        <message clientCredentialType="UserName" />
      </security>
    </binding>
  </basicHttpBinding>
</bindings>

Это передаст учетные данные в заголовок SOAP.Теперь вы должны либо передать имя пользователя и пароль - проверка по умолчанию проводится в отношении учетных записей Windows, но вы также можете использовать поставщика членства или пользовательского средства проверки пароля.

Если вы действительно хотите использовать NTLM или Windows, это означает, что вы используете клиент и сервер в одной сети / домене.В таком случае используйте вместо этого Net.tcp.

...