<<wsFederationHttpBinding>>

Definiert eine Bindung, die WS-Federation unterstützt.

Schemahierarchie

<<system.serviceModel>>
  <bindings>
    <<wsFederationHttpBinding>>

Syntax

<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>

Attribute und Elemente

In den folgenden Abschnitten werden Attribute, untergeordnete Elemente sowie übergeordnete Elemente beschrieben.

Attribute

Attribut Beschreibung

bypassProxyOnLocal

Ein boolescher Wert, der angibt, ob der Proxyserver bei lokalen Adressen umgangen werden soll. Der Standardwert ist false.

closeTimeout

Ein TimeSpan-Wert, der das Zeitintervall für den Abschluss eines Schließvorgangs angibt. Dieser Wert muss größer oder gleich Zero sein. Der Standardwert ist 00:01:00.

hostnameComparisonMode

Gibt den HTTP-Hostnamen-Vergleichsmodus an, der verwendet wird, um URIs zu analysieren. Dieses Attribut ist vom Typ HostnameComparisonMode und gibt an, ob beim Abgleich des URI der Hostname zum Erreichen des Dienstes verwendet wird. Der Standardwert ist StrongWildcard, wodurch der Hostname beim Abgleich ignoriert wird.

maxBufferPoolSize

Eine ganze Zahl, die die maximale Pufferpoolgröße für diese Bindung angibt. Der Standardwert ist 524.288 Byte (512 * 1024). Viele Teile von Windows Communication Foundation (WCF) verwenden Puffer. Das Erstellen und Zerstören von Puffern bei jeder Verwendung ist kostspielig. Dasselbe gilt für die Garbage Collection für Puffer. Bei Pufferpools können Sie einen zu verwendenden Puffer aus dem Pool nehmen und ihn nach der Verwendung wieder dem Pool zuführen. So wird der Aufwand beim Erstellen und Zerstören von Puffern vermieden.

maxReceivedMessageSize

Eine positive ganze Zahl, die die maximale Nachrichtengröße in Bytes einschließlich Header angibt, die in einem für diese Bindung konfigurierten Kanal beim Nachrichtenempfang zulässig ist. Der Absender einer Nachricht, die diese Grenze überschreitet, erhält einen SOAP-Fehler. Der Empfänger verwirft die Nachricht und erstellt einen Eintrag des Ereignisses im Ablaufverfolgungsprotokoll. Der Standardwert ist 65536.

messageEncoding

Definiert den Encoder, der verwendet wird, um die SOAP-Nachricht zu kodieren. Folgende Werte sind gültig:

  • Text: Verwenden Sie einen Textnachrichtenencoder.

  • Mtom: Verwenden Sie einen MTOM-Encoder (Message Transmission Organisation Mechanism 1.0).

Der Standardwert ist Text.

Dieses Attribut ist vom Typ WSMessageEncoding.

name

Eine Zeichenfolge, die den Konfigurationsnamen der Bindung enthält. Dieser Wert sollte eindeutig sein, da er von der Bindung zur Identifizierung verwendet wird. Ab .NET Framework 4 müssen Bindungen und Verhalten keinen Namen aufweisen. Weitere Informationen zu Standardkonfiguration und zu namenlosen Bindungen und Verhalten finden Sie unter Simplified Configuration und Simplified Configuration for WCF Services.

openTimeout

Ein TimeSpan-Wert, der das Zeitintervall für den Abschluss eines Öffnungsvorgangs angibt. Dieser Wert muss größer oder gleich Zero sein. Der Standardwert ist 00:01:00.

privactyNoticeAt

Eine Zeichenfolge mit dem URI, an dem sich der Datenschutzhinweis befindet.

privactyNoticeVersion

Eine ganze Zahl, die die Version des aktuellen Datenschutzhinweises angibt.

proxyAddress

Ein URI, der die Adresse des HTTP-Proxys angibt. Wenn useDefaultWebProxy true ist, muss diese Einstellung NULL lauten. Der Standardwert ist NULL.

receiveTimeout

Ein TimeSpan-Wert, der das Zeitintervall für den Abschluss eines Empfangsvorgangs angibt. Dieser Wert muss größer oder gleich Zero sein. Der Standardwert ist 00:10:00.

sendTimeout

Ein TimeSpan-Wert, der das Zeitintervall für den Abschluss eines Sendevorgangs angibt. Dieser Wert muss größer oder gleich Zero sein. Der Standardwert ist 00:01:00.

textEncoding

Legt die Zeichensatzkodierung fest, die zum Ausgeben von Nachrichten über die Bindung verwendet werden soll. Folgende Werte sind gültig:

  • BigEndianUnicode: Unicode BigEndian-Kodierung.

  • Unicode: 16-Bit-Kodierung.

  • UTF8: 8-Bit-Codierung

Standardwert ist UTF8. Dieses Attribut ist vom Typ Encoding.

transactionFlow

Ein boolescher Wert, der angibt, ob die Bindung geleitete WS-Transaktionen unterstützt. Der Standardwert ist false.

useDefaultWebProxy

Ein boolescher Wert, der angibt, ob der automatisch konfigurierte HTTP-Proxy des Systems verwendet wird. Die Proxyadresse muss NULL sein (das heißt, sie ist nicht festgelegt), wenn dieses Attribut den Wert true hat. Die Standardeinstellung ist true.

Untergeordnete Elemente

Element Beschreibung

<security> von <wsFederationHttpBinding>

Definiert die Sicherheitseinstellungen für die Nachricht. Dieses Element ist vom Typ WSFederationHttpSecurityElement.

<readerQuotas>

Definiert die Beschränkungen der Komplexität von SOAP-Nachrichten, die von Endpunkten verarbeitet werden können, die mit dieser Bindung konfiguriert wurden. Dieses Element ist vom Typ XmlDictionaryReaderQuotasElement.

reliableSession

Gibt an, ob zuverlässige Sitzungen zwischen Kanalendpunkten aufgebaut werden.

Übergeordnete Elemente

Element Beschreibung

<bindings>

Dieses Element enthält eine Auflistung von standardmäßigen und benutzerdefinierten Bindungen.

Hinweise

Ein Verbund zeichnet sich durch die Möglichkeit aus, Identitäten auf mehreren Systemen für Authentifizierung und Autorisierung freizugeben. Diese Identitäten können auf Benutzer oder Computer verweisen. Verbundenes HTTP unterstützt sowohl SOAP-Sicherheit als auch Sicherheit im gemischten Modus, jedoch keine exklusive Verwendung von Transportsicherheit. Diese Bindung bietet Windows Communication Foundation (WCF)-Unterstützung für das WS-Verbundprotokoll. Mit dieser Bindung konfigurierte Dienste müssen den HTTP-Transport verwenden.

Bindungen bestehen aus einem Stapel von Bindungselementen. Der Stapel von Bindungselementen in

wsFederationHttpBinding ist mit dem Inhalt von wsHttpBinding

identisch, wenn <security> von <wsFederationHttpBinding> auf den Standardwert von Message festgelegt ist.

Die wsFederationHttpBinding steuert die Details der Nachrichtensicherheitseinstellungen in <message>-Element von <wsFederationHttpBinding>. Beachten Sie, dass das <security> von <wsFederationHttpBinding>-Element nur Zugriff zum Abrufen bietet, da die von der Bindung verwendete Sicherheit nicht geändert werden kann, nachdem die Bindung erstellt wurde.

Die wsFederationHttpBinding bietet zudem ein privacyNoticeAt-Attribut zum Festlegen und Abrufen des URIs, an dem sich der Datenschutzhinweis befindet.

Das Sichern von Richtlinien ist vor allem in Verbundszenarien wichtig. Es wird empfohlen, Sicherheitsfunktionen wie HTTPS einzusetzen, um die Richtlinie vor bösartigen Benutzern zu schützen.

In Verbundszenarien, die diese Bindung nutzen, enthält die Dienstrichtlinie häufig wichtige Informationen, wie z. B. den Schlüssel für die Verschlüsselung des ausgestellten (SAML-) Tokens, den Anspruchstyp für das Token usw. Wenn diese Richtlinie missbräuchlich genutzt wird, könnte ein Angreifer den Schlüssel des ausgestellten Tokens herausfinden und Informationen offen legen und andere böswillige Handlungen vornehmen. Um dies zu vermeiden, muss die Richtlinie sicher vom Dienst abgerufen werden (z. B. über HTTPS).

Weitere Informationen zu dieser Bindung finden Sie unter How to: Create a WSFederationHttpBinding.

Beispiel

<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>

Siehe auch

Verweis

WSFederationHttpBinding
WSFederationHttpBindingElement

Konzepte

<binding>

Weitere Ressourcen

How to: Create a WSFederationHttpBinding
Windows Communication Foundation Bindings
Configuring System-Provided Bindings
Using Bindings to Configure Services and Clients