Sdílet prostřednictvím


<wsFederationHttpBinding>

Definuje vazbu, která podporuje WS-Federation.

<Konfigurace>
  <System.servicemodel>
    <Vazby>
      <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>
</wsFederationHttpBinding>

Atributy a elementy

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

Atributy

Atribut Popis
Bypassproxyonlocal Logická hodnota označující, zda se má obejít proxy server pro místní adresy. Výchozí formát 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 hodnotě 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, jestli se název hostitele používá k připojení ke službě při porovnávání v identifikátoru URI. Výchozí hodnota je StrongWildcard, která ignoruje název hostitele v shodě.
Maxbufferpoolsize Celé číslo, které určuje maximální velikost fondu vyrovnávacích pamětí 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 nič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é. S fondy vyrovnávacích pamětí můžete z fondu vzít vyrovnávací paměť, použít ji a po dokončení ji vrátit do fondu. Tím se vyhnete režijnímu zatížení při vytváření a nič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ého s touto vazbou. Odesílatel zprávy překračující tento limit obdrží chybu PROTOKOLU 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ých zpráv.
- Mtom: Použijte kodér MTOM (Message Transmission Organization Mechanism 1.0).

Výchozí hodnota je Text.

Tento atribut je typu WSMessageEncoding.
name Řetězec, který obsahuje konfigurační název 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í operace otevření. Tato hodnota by měla být větší nebo rovna hodnotě 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 zásadách ochrany osobních údajů.
privacyNoticeVersion Celé číslo, které určuje verzi aktuálního oznámení o zásadách ochrany osobních údajů.
Proxyaddress Identifikátor URI, který určuje adresu proxy serveru HTTP. Pokud useDefaultWebProxy je true, toto nastavení musí být null. Výchozí formát je null.
receiveTimeout Hodnota TimeSpan , která určuje časový interval zadaný pro dokončení operace příjmu. Tato hodnota by měla být větší nebo rovna hodnotě Zero. Výchozí hodnota je 00:10:00.
sendTimeout Hodnota TimeSpan , která určuje časový interval zadaný pro dokončení operace odeslání. Tato hodnota by měla být větší nebo rovna hodnotě Zero. Výchozí hodnota je 00:01:00.
textEncoding Nastaví kódování znakové sady, které se má použít 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 toky WS-Transactions. Výchozí formát je false.
useDefaultWebProxy Logická hodnota, která označuje, jestli se používá automaticky nakonfigurovaný proxy server HTTP systému. Adresa proxy serveru musí být null (to znamená, že není nastavena), pokud je truetento atribut . Výchozí formát je true.

Podřízené elementy

Element Popis
<Zabezpečení> Definuje nastavení zabezpečení zprávy. Tento prvek je typu WSFederationHttpSecurityElement.
<readerQuotas> Definuje omezení složitosti zpráv SOAP, které mohou být zpracovány koncovými body nakonfigurovanými pomocí této vazby. Tento prvek je typu XmlDictionaryReaderQuotasElement.
<reliableSession> Určuje, jestli se mezi koncovými body kanálu navazují spolehlivé relace.

Nadřazené elementy

Element Popis
<Vazby> Tento prvek obsahuje kolekci standardních a vlastních vazeb.

Poznámky

Federace je schopnost sdílet identity napříč několika systémy za účelem ověřování a autorizace. Tyto identity můžou odkazovat na uživatele nebo počítače. Federovaný protokol HTTP podporuje zabezpečení 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 vazebních prvků. Zásobník elementů vazby v

wsFederationHttpBinding je stejný jako hodnota obsažená 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 proto, že 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 zásadách ochrany osobních údajů.

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

Ve scénářích federace používajících tuto vazbu mohou zásady služby mít důležité informace, jako je klíč, který se má použít k zašifrování vydaného tokenu (SAML), typ deklarací identity, které se mají vložit do tokenu, atd. Pokud dojde k manipulaci s touto zásadou, útočník by mohl zjistit klíč vydaného tokenu, což by vedlo k další manipulaci, zpřístupnění informací a dalšímu škodlivému chování. Abyste tomu předešli, musí být zásady ze služby bezpečně získány (například pomocí PROTOKOLU HTTPS).

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

Příklad

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