конфигурация wsHttpBinding - PullRequest
1 голос
/ 06 июля 2011

Я читал книгу wcf и наткнулся на следующий блок кода

<bindings>
  <wsHttpBinding>
    <binding name="ProductsServiceWSHttpBindingConfig">
      <security mode="TransportWithMessageCredential">
        <transport clientCredentialType="None" />
        <message clientCredentialType="UserName" />
      </security>
    </binding>
  </wsHttpBinding>
</bindings>

Я запутался с <transport ....> и <message ...> Я провел только поиск и смог определить значение каждого из них.,Но, не уверен, что будет результатом этого блока кода.Заранее спасибо.

1 Ответ

3 голосов
/ 06 июля 2011

Когда вы собираетесь настроить безопасность для WsHttpBinding, вам сначала нужно выбрать способ защиты связи.Это настроено mode в безопасности element:

  • None - без защиты и аутентификации
  • Transport - связь будет зашифрована на транспортном уровне (HTTPS)и аутентификация будет выполняться также на транспортном уровне (через заголовки HTTP)
  • TransportWithMessageCredential - связь будет зашифрована на транспортном уровне (HTTPS), а аутентификация будет выполняться на уровне сообщений (через стандартизированные заголовки SOAP)
  • Message - каждое сообщение будет отдельно зашифровано и подписано в соответствии со стандартами WS-Security и отправлено по HTTP, а аутентификация будет также выполняться на уровне сообщения.Шифрование, подписывание и аутентификация используют стандартизированные заголовки SOAP.

После того, как вы определили mode, вы можете использовать элементы transport и message для дальнейшего указания деталей безопасности, используемых в определенных mode.Наиболее распространенным параметром является clientCredentialType, который указывает, как клиент аутентифицируется службой.Элемент transport предлагает режимы, доступные в протоколе HTTP, а элемент message предлагает режимы, определенные WS-Security.

Ваша конфигурация определяет привязку для конечной точки, используя HTTPS и заголовок SOAP (токен имени пользователя) для передачи имени пользователя и пароля в службу.

...