<wsFederationHttpBinding>
Определяет привязку, которая поддерживает спецификацию WS-Federation.
Иерархия схемы
<system.serviceModel>
<bindings>
<wsFederationHttpBinding>
Синтаксис
<wsFederationHttpBinding>
<binding
bypassProxyOnLocal="Boolean"
closeTimeout="TimeSpan"
hostNameComparisonMode="StrongWildcard/Exact/WeakWildcard"
maxBufferPoolSize="integer"
maxReceivedMessageSize="integer"
messageEncoding="Text/Mtom"
name="string"
openTimeout="TimeSpan"
privacyNoticeAt="Uri"
privacyNoticeVersion="Integer"
proxyAddress="Uri"
receiveTimeout="TimeSpan"
sendTimeout="TimeSpan"
textEncoding="UnicodeFffeTextEncoding/Utf16TextEncoding/ Utf8TextEncoding"
transactionFlow="Boolean"
useDefaultWebProxy="Boolean">
<security mode="None/Message/TransportWithMessageCredential">
<message
algorithmSuite="Basic128/Basic192/Basic256/Basic128Rsa15/Basic256Rsa15/TripleDes/TripleDesRsa15/Basic128Sha256/Basic192Sha256/TripleDesSha256/Basic128Sha256Rsa15/Basic192Sha256Rsa15/Basic256Sha256Rsa15/TripleDesSha256Rsa15"
issuedTokenType="string"
issuedKeyType="SymmetricKey/PublicKey"
negotiateServiceCredential="Boolean" >
<claimTypeRequirements>
<add claimType="URI"
isOptional="Boolean" />
</claimTypeRequirements>
<issuer address="Uri" >
<headers>
<add name="String"
namespace="String" />
</headers>
<identity>
<certificate encodedValue="String"/>
<certificateReference findValue="String"
isChainIncluded="Boolean"
storeName="AddressBook/AuthRoot/CertificateAuthority/Disallowed/My/Root/TrustedPeople/TrustedPublisher"
storeLocation="LocalMachine/CurrentUser"
X509FindType=System.Security.Cryptography.X509certificates.X509findtype/>
<dns value="String"/>
<rsa value="String"/>
<servicePrincipalName value="String"/>
<usePrincipalName value="String"/>
</identity>
</issuer>
<issuerMetadata address=String" >
<headers>
<add name="String"
namespace="String" />
</headers>
<identity>
<certificate encodedValue="String"/>
<certificateReference findValue="String"
isChainIncluded="Boolean"
storeName="AddressBook/AuthRoot/CertificateAuthority/Disallowed/My/Root/TrustedPeople/TrustedPublisher"
storeLocation="LocalMachine/CurrentUser"
x509FindType=System.Security.Cryptography.X509certificates.X509findtype/>
<dns value="String"/>
<rsa value="String"/>
<servicePrincipalName value="String"/>
<usePrincipalName value="String"/>
</identity>
</issuerMetadata>
<tokenRequestParameters>
<xmlElement>
</xmlElement>
</tokenRequestParameters>
</message>
</security>
<reliableSession ordered="Boolean"
inactivityTimeout="TimeSpan"
enabled="Boolean" />
<readerQuotas maxArrayLength="Integer" maxBytesPerRead="Integer" maxDepth="Integer" maxNameTableCharCount="Integer" maxStringContentLength="Integer" /> </binding>
</wsFederationBinding>
Атрибуты и элементы
В следующих разделах описываются атрибуты, дочерние и родительские элементы.
Атрибуты
Атрибут | Описание |
---|---|
bypassProxyOnLocal |
Логическое значение, определяющее, будет ли выполняться обход прокси-сервера для локальных адресов. Значение по умолчанию — false. |
closeTimeout |
Значение TimeSpan, которое задает длительность времени ожидания для завершения операции закрытия. Это значение должно быть больше или равно Zero. Значение по умолчанию — 00:01:00. |
hostnameComparisonMode |
Задает режим сравнения имен узлов HTTP для анализа универсальных кодов ресурсов (URI). Это атрибут типа HostnameComparisonMode, который указывает, используется ли имя узла для доступа к службе при сравнении по универсальному коду ресурсов (URI). Значение по умолчанию — StrongWildcard, при котором имя узла в найденном соответствии не учитывается. |
maxBufferPoolSize |
Целое число, задающее максимальный размер буферного пула для этой привязки. Значение по умолчанию — 524 288 байт (512 * 1024). Многие элементы Windows Communication Foundation (WCF) используют буферы. При создании буферов и их уничтожении после каждого использования расходуется слишком много ресурсов; при сборке мусора для буферов также расходуется слишком много ресурсов. Буферные пулы позволяют брать буфер из пула, использовать его, а затем возвращать обратно, когда он больше не требуется. Это позволяет избежать излишней нагрузки, связанной с созданием и уничтожением буферов. |
maxReceivedMessageSize |
Положительное целое число, задающее, в байтах, максимальный размер сообщения (включая заголовки), которое можно получить по каналу, настроенному с использованием этой привязки. Отправитель сообщения, превышающего это ограничение, получит ошибку SOAP. Получатель отклоняет сообщение и создает запись о событии в журнале трассировки. Значение по умолчанию — 65536. |
messageEncoding |
Определяет кодировщик, используемый для кодировки сообщения. Допустимы следующие значения:
Значение по умолчанию — Text. Это атрибут типа WSMessageEncoding. |
name |
Строка, содержащая имя конфигурации привязки. Это значение должно быть уникальным, поскольку оно используется в качестве идентификатора привязки. Начиная с версии .NET Framework 4 для привязок и поведений необязательно задавать имена. Дополнительные сведения о конфигурации по умолчанию и о безымянных привязках и поведениях см. в разделах Simplified Configuration и Simplified Configuration for WCF Services. |
openTimeout |
Значение TimeSpan, которое задает длительность времени ожидания для завершения операции открытия. Это значение должно быть больше или равно Zero. Значение по умолчанию — 00:01:00. |
privactyNoticeAt |
Строка, задающая универсальный код ресурса (URI), определяющий расположение примечания о конфиденциальности. |
privactyNoticeVersion |
Целое число, определяющее версию текущего уведомления о конфиденциальности. |
proxyAddress |
Универсальный код ресурса (URI), задающий адрес прокси-сервера HTTP. Если параметр useDefaultWebProxy имеет значение true, данный параметр должен иметь значение null. Значение по умолчанию — null. |
receiveTimeout |
Значение TimeSpan, которое задает длительность времени ожидания для завершения операции получения. Это значение должно быть больше или равно Zero. Значение по умолчанию — 00:10:00. |
sendTimeout |
Значение TimeSpan, которое задает длительность времени ожидания для завершения операции отправки. Это значение должно быть больше или равно Zero. Значение по умолчанию — 00:01:00. |
textEncoding |
Задает кодировку, используемую при отправке сообщений через привязку. Допустимы следующие значения:
Значение по умолчанию — UTF8. Это атрибут типа Encoding. |
transactionFlow |
Логическое значение, определяющее, поддерживает ли привязка потоковые спецификации WS-Transactions. Значение по умолчанию — false. |
useDefaultWebProxy |
Логическое значение, указывающее, должен ли использоваться автоматически настроенный системный прокси-сервер HTTP. Если данный атрибут имеет значение true, адрес прокси-сервера должен быть равен null (то есть не задан). Значение по умолчанию — true. |
Дочерние элементы
Элемент | Описание |
---|---|
Определяет параметры безопасности сообщения. Это элемент типа WSFederationHttpSecurityElement. |
|
Определяет ограничения по сложности сообщений SOAP, которые могут обрабатываться конечными точками, настроенными с использованием этой привязки. Это элемент типа XmlDictionaryReaderQuotasElement. |
|
Указывает, устанавливаются ли между конечными точками канала надежные сеансы. |
Родительские элементы
Элемент | Описание |
---|---|
Этот элемент содержит коллекцию стандартных и пользовательских привязок. |
Замечания
Федерация — это возможность совместного использования удостоверений в нескольких системах в целях проверки подлинности и авторизации. Эти удостоверения могут ссылаться на пользователей или на компьютеры. Федеративный протокол HTTP поддерживает безопасность SOAP и безопасность в смешанном режиме, но не поддерживает использование исключительно безопасности транспорта. Эта привязка обеспечивает поддержку системой Windows Communication Foundation (WCF) протокола WS-Federation. Службы, настроенные с использованием этой привязки, должны использовать транспорт HTTP.
Привязки состоят из стека элементов привязки. Стек элементов привязки в
wsFederationHttpBinding идентичен тому, что содержится в wsHttpBinding
если <security> для <wsFederationHttpBinding> присвоено значение по умолчанию Message.
Привязка wsFederationHttpBinding управляет сведениями о параметрах безопасности сообщений в Элемент <message> <wsFederationHttpBinding>. Обратите внимание, что элемент <security> для <wsFederationHttpBinding> обеспечивает доступ на получение только в качестве системы безопасности, используемой привязкой, и его нельзя изменить после создания привязки.
Привязка wsFederationHttpBinding также предоставляет атрибут privactyNoticeAt для установки и извлечения универсального кода ресурса (URI), определяющего расположение примечания о конфиденциальности.
Обеспечение безопасности политики особенно важно в федеративных сценариях. Для защиты политики от злоумышленников рекомендуется использовать определенную систему безопасности, например протокол HTTPS.
В федеративных сценариях с использованием этой привязки политика службы потенциально содержит важные сведения, например ключ для шифрования выдаваемого маркера (SAML), тип утверждений, помещаемых в маркер, и так далее. Если политика подделана, атакующий может обнаружить ключ выданного маркера, что приводит к дальнейшим подделкам, раскрытию сведений и другим вредоносным действиям. Чтобы предупредить злонамеренные действия, политика должна быть получена от службы безопасным способом (например, с помощью протокола HTTPS).
Дополнительные сведения об этой привязке см. в разделе How to: Create a WSFederationHttpBinding.
Пример
<configuration>
<system.ServiceModel>
<bindings>
<wsFederationHttpBinding>
<binding
bypassProxyOnLocal="false"
transactionFlow="false"
hostNameComparisonMode="WeakWildcard"
maxReceivedMessageSize="1000"
messageEncoding="Mtom"
proxyAddress="http://foo/bar"
textEncoding="Utf16TextEncoding"
useDefaultWebProxy="false">
<reliableSession ordered="false"
inactivityTimeout="00:02:00" enabled="true" />
<security mode="None">
<message negotiateServiceCredential="false"
algorithmSuite="Aes128"
issuedTokenType="saml"
issuedKeyType="PublicKey">
<issuer address="https://localhost/Sts" />
</message>
</security>
</binding>
</wsFederationBinding>
</bindings>
</system.ServiceModel>
</configuration>
См. также
Справочник
WSFederationHttpBinding
WSFederationHttpBindingElement
Основные понятия
Другие ресурсы
How to: Create a WSFederationHttpBinding
Windows Communication Foundation Bindings
Configuring System-Provided Bindings
Using Bindings to Configure Services and Clients