<wsFederationHttpBinding>

Definuje vazbu, která podporuje WS-Federation.

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

Syntaxe

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

Atributy a prvky

Následující části popisují atributy, podřízené prvky a nadřazené prvky.

Attributes

Vlastnost Description
Bypassproxyonlocal Logická hodnota, která označuje, jestli se má proxy server obejít pro místní adresy. Výchozí hodnota je false.
closeTimeout Hodnota TimeSpan , která určuje časový interval zadaný pro dokončení operace uzavření. Tato hodnota by měla být větší nebo rovna Zero. Výchozí hodnota je 00:01:00.
Hostnamecomparisonmode Určuje režim porovnání názvů hostitelů HTTP, který se používá k analýze identifikátorů URI. Tento atribut je typu HostNameComparisonMode, který označuje, zda se název hostitele používá k dosažení služby při porovnávání identifikátoru URI. Výchozí hodnota je StrongWildcard, která ignoruje název hostitele ve shodě.
maxBufferPoolSize Celé číslo, které určuje maximální velikost fondu vyrovnávací paměti pro tuto vazbu. Výchozí hodnota je 524 288 bajtů (512 × 1024). Mnoho částí windows Communication Foundation (WCF) používá vyrovnávací paměti. Vytváření a zničení vyrovnávacích pamětí při každém jejich použití je nákladné a uvolňování paměti pro vyrovnávací paměti je také nákladné. U fondů vyrovnávací paměti můžete po dokončení vzít vyrovnávací paměť z fondu, použít ji a vrátit ji do fondu. Proto se vyhnete režii při vytváření a zničení vyrovnávacích pamětí.
maxReceivedMessageSize Kladné celé číslo, které určuje maximální velikost zprávy v bajtech, včetně hlaviček, které lze přijímat v kanálu nakonfigurované pomocí této vazby. Odesílatel zprávy překračující tento limit obdrží chybu SOAP. Příjemce zprávu zahodí a vytvoří záznam události v protokolu trasování. Výchozí hodnota je 65536.
messageEncoding Definuje kodér použitý ke kódování zprávy. Platné hodnoty zahrnují následující:

- Text: Použijte kodér textové zprávy.
- Mtom: Použijte kodér MTOM (Message Transmission Organization Mechanism) 1.0 (MTOM).

Výchozí hodnota je Text.

Tento atribut je typu WSMessageEncoding.
název Řetězec, který obsahuje název konfigurace vazby. Tato hodnota by měla být jedinečná, protože se používá jako identifikace vazby. Počínaje rozhraním .NET Framework 4 není nutné, aby vazby a chování měly název. Další informace o výchozí konfiguraci a beznázvových vazbách a chování najdete v tématu Zjednodušená konfigurace a zjednodušená konfigurace pro služby WCF.
openTimeout Hodnota TimeSpan , která určuje časový interval zadaný pro dokončení otevřené operace. Tato hodnota by měla být větší nebo rovna Zero. Výchozí hodnota je 00:01:00.
privacyNoticeAt Řetězec, který určuje identifikátor URI, ve kterém se nachází oznámení o ochraně osobních údajů.
privacyNoticeVersion Celé číslo, které určuje verzi aktuálního oznámení o ochraně osobních údajů.
Proxyaddress Identifikátor URI, který určuje adresu proxy serveru HTTP. Pokud useDefaultWebProxy ano true, toto nastavení musí být null. Výchozí hodnota je null.
receiveTimeout Hodnota TimeSpan , která určuje časový interval určený k dokončení operace příjmu. Tato hodnota by měla být větší nebo rovna Zero. Výchozí hodnota je 00:10:00.
sendTimeout Hodnota TimeSpan , která určuje časový interval určený k dokončení operace odeslání. Tato hodnota by měla být větší nebo rovna Zero. Výchozí hodnota je 00:01:00.
TextEncoding Nastaví kódování znakové sady, které se použije pro generování zpráv ve vazbě. Platné hodnoty zahrnují následující:

- BigEndianUnicode: Kódování Unicode BigEndian.
– Unicode: 16bitové kódování.
- UTF8: 8bitové kódování

Výchozí hodnota je UTF8. Tento atribut je typu Encoding..
transactionFlow Logická hodnota, která určuje, zda vazba podporuje tok WS-Transactions. Výchozí hodnota je false.
useDefaultWebProxy Logická hodnota, která označuje, jestli se používá automaticky nakonfigurovaný proxy server HTTP systému. Proxy adresa musí být null (to znamená, že není nastavena), pokud je truetento atribut . Výchozí hodnota je true.

Podřízené prvky

prvek Description
<bezpečnost> Definuje nastavení zabezpečení zprávy. Tento prvek je typu WSFederationHttpSecurityElement.
<readerQuotas> Definuje omezení složitosti zpráv SOAP, které lze zpracovat koncovými body nakonfigurovanými touto vazbou. Tento prvek je typu XmlDictionaryReaderQuotasElement.
<Reliablesession> Určuje, jestli jsou mezi koncovými body kanálu vytvořeny spolehlivé relace.

Nadřazené prvky

prvek Description
<na něčí žádosti> Tento element obsahuje kolekci standardních a vlastních vazeb.

Poznámky

Federace je schopnost sdílet identity napříč několika systémy pro ověřování a autorizaci. Tyto identity můžou odkazovat na uživatele nebo počítače. Federovaný protokol HTTP podporuje zabezpečení PROTOKOLU SOAP i zabezpečení ve smíšeném režimu, ale nepodporuje výhradně použití zabezpečení přenosu. Tato vazba poskytuje podporu technologie Windows Communication Foundation (WCF) pro protokol WS-Federation. Služby nakonfigurované s touto vazbou musí používat přenos HTTP.

Vazby se skládají ze zásobníku vazeb prvků. Stack vazebních prvků v

wsFederationHttpBinding je stejná jako ta, která je obsažena v wsHttpBinding

pokud <je zabezpečení> nastaveno na výchozí hodnotu Message.

Určuje wsFederationHttpBinding podrobnosti o nastavení zabezpečení zpráv ve <zprávě>. Všimněte si, že <prvek zabezpečení> poskytuje přístup pouze v podobě zabezpečení používané vazbou nelze po vytvoření vazby změnit.

Poskytuje wsFederationHttpBinding také atribut privacyNoticeAt pro nastavení a načtení identifikátoru URI, ve kterém se nachází oznámení o ochraně osobních údajů.

Zabezpečení zásad je zvlášť důležité ve scénářích federace. K ochraně zásad před uživateli se zlými úmysly doporučujeme použít určitou formu zabezpečení, například HTTPS.

Ve scénářích federace, které používají tuto vazbu, můžou mít zásady služby důležité informace, jako je klíč, který se má použít k šifrování vystaveného tokenu (SAML), typ deklarací identity, které se mají vložit do tokenu atd. Pokud se s touto zásadou manipuluje, útočník může zjistit klíč vystaveného tokenu, který vede k dalšímu manipulaci, zpřístupnění informací a dalšímu škodlivému chování. Aby se tomu zabránilo, musí se zásada ze služby bezpečně získat (například pomocí HTTPS).

Další informace o této vazbě naleznete v tématu Postupy: Vytvoření WSFederationHttpBinding.

Example

<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="http://localhost/Sts" />
            </message>
          </security>
        </binding>
      </wsFederationHttpBinding>
    </bindings>
  </system.ServiceModel>
</configuration>

Viz také