Megosztás a következőn keresztül:


<wsFederationHttpBinding>

Olyan kötést definiál, amely támogatja a WS-Federationt.

<Konfigurációs>
  <system.serviceModel>
    <Kötések>
      <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>

Attribútumok és elemek

Az alábbi szakaszok az attribútumokat, a gyermekelemeket és a szülőelemeket ismertetik.

Attribútumok

Attribútum Leírás
bypassProxyOnLocal Logikai érték, amely azt jelzi, hogy meg kell-e kerülni a helyi címek proxykiszolgálójának megkerülését. A mező alapértelmezett értéke: false.
closeTimeout Egy TimeSpan érték, amely megadja a bezárási művelet végrehajtásához megadott időintervallumot. Ennek az értéknek nagyobbnak vagy egyenlőnek kell lennie.Zero Az alapértelmezett érték 00:01:00.
hostnameComparisonMode Meghatározza az URI-k elemzéséhez használt HTTP-állomásnév-összehasonlító módot. Ez az attribútum típusa HostNameComparisonMode, amely azt jelzi, hogy a gazdanév használatával éri-e el a szolgáltatást az URI-n való egyeztetéskor. Az alapértelmezett érték a StrongWildcard, amely figyelmen kívül hagyja a gazdanevet az egyezésben.
maxBufferPoolSize Egy egész szám, amely meghatározza a kötés pufferkészletének maximális méretét. Az alapértelmezett érték 524 288 bájt (512 * 1024). A Windows Communication Foundation (WCF) számos része puffereket használ. A pufferek létrehozása és megsemmisítése minden alkalommal költséges, és a pufferek szemétgyűjtése is költséges. Pufferkészletek esetén a készletből puffert vehet fel, használhatja, majd a művelet befejezése után visszaadhatja a készletnek. Így elkerülhető a pufferek létrehozására és megsemmisítésére vonatkozó többletterhelés.
maxReceivedMessageSize Pozitív egész szám, amely a kötéssel konfigurált csatornán fogadható maximális üzenetméretet adja meg bájtban, beleértve a fejléceket is. A korlátot túllépő üzenet feladója SOAP-hibát kap. A fogadó eldobja az üzenetet, és létrehozza az esemény bejegyzését a nyomkövetési naplóban. Az alapértelmezett érték a 65536.
messageEncoding Meghatározza az üzenet kódolásához használt kódolót. Az érvényes értékek a következők:

- Szöveg: Használjon szöveges üzenetkódolót.
- Mtom: Üzenettovábbítási szervezeti mechanizmus 1.0 -s (MTOM) kódoló használata.

Az alapértelmezett érték a Szöveg.

Ez az attribútum típusa WSMessageEncoding.
name A kötés konfigurációs nevét tartalmazó sztring. Ennek az értéknek egyedinek kell lennie, mert a kötés azonosítására szolgál. A .NET-keretrendszer 4-től kezdődően a kötéseknek és viselkedéseknek nem kell nevet adniuk. Az alapértelmezett konfigurációval, valamint a név nélküli kötésekkel és viselkedésekkel kapcsolatos további információkért lásd: Egyszerűsített konfiguráció és egyszerűsített konfiguráció a WCF-szolgáltatásokhoz.
openTimeout Egy TimeSpan érték, amely megadja a nyitott művelet végrehajtásához megadott időintervallumot. Ennek az értéknek nagyobbnak vagy egyenlőnek kell lennie.Zero Az alapértelmezett érték 00:01:00.
privacyNoticeAt Egy sztring, amely egy URI-t határoz meg, amelyen az adatvédelmi nyilatkozat található.
privacyNoticeVersion Egy egész szám, amely az aktuális adatvédelmi nyilatkozat verzióját adja meg.
proxyAddress A HTTP-proxy címét meghatározó URI. Ha useDefaultWebProxy igen true, akkor ennek a beállításnak kell lennie null. A mező alapértelmezett értéke: null.
receiveTimeout Egy TimeSpan érték, amely megadja a fogadási művelet végrehajtásához megadott időintervallumot. Ennek az értéknek nagyobbnak vagy egyenlőnek kell lennie.Zero Az alapértelmezett érték 00:10:00.
sendTimeout Egy TimeSpan érték, amely megadja a küldési művelet végrehajtásához megadott időintervallumot. Ennek az értéknek nagyobbnak vagy egyenlőnek kell lennie.Zero Az alapértelmezett érték 00:01:00.
textEncoding Beállítja a karakterkészlet kódolását a kötésen lévő üzenetek kibocsátásához. Az érvényes értékek a következők:

- BigEndianUnicode: Unicode BigEndian kódolás.
- Unicode: 16 bites kódolás.
- UTF8: 8 bites kódolás

Az alapértelmezett érték az UTF8. Ez az attribútum típusa Encoding..
transactionFlow Logikai érték, amely meghatározza, hogy a kötés támogatja-e a WS-Transactions folyamatait. A mező alapértelmezett értéke: false.
useDefaultWebProxy Logikai érték, amely azt jelzi, hogy a rendszer automatikusan konfigurált HTTP-proxyját használja-e a rendszer. A proxycímnek (azaz nincs beállítva) kell lennie null , ha ez az attribútum .true A mező alapértelmezett értéke: true.

Gyermekelemek

Elem Leírás
<Biztonsági> Meghatározza az üzenet biztonsági beállításait. Ez az elem típusa WSFederationHttpSecurityElement.
<readerQuotas> Meghatározza a SOAP-üzenetek összetettségére vonatkozó korlátozásokat, amelyeket az ezzel a kötéssel konfigurált végpontok dolgozhatnak fel. Ez az elem típusa XmlDictionaryReaderQuotasElement.
<reliableSession> Meghatározza, hogy a csatornavégpontok között megbízható munkamenetek vannak-e létrehozva.

Szülőelemek

Elem Leírás
<Kötések> Ez az elem standard és egyéni kötések gyűjteményét tartalmazza.

Megjegyzések

Az összevonás az identitások több rendszeren való megosztásának képessége hitelesítés és engedélyezés céljából. Ezek az identitások felhasználókra vagy gépekre hivatkozhatnak. Az összevont HTTP támogatja a SOAP-biztonságot és a vegyes módú biztonságot, de nem támogatja kizárólag az átviteli biztonság használatát. Ez a kötés a Windows Communication Foundation (WCF) támogatását biztosítja a WS-Federation protokollhoz. Az ezzel a kötéssel konfigurált szolgáltatásoknak HTTP-átvitelt kell használniuk.

A kötések kötési elemekből állnak. A kötési elemek készlete a következőben:

wsFederationHttpBinding megegyezik a wsHttpBinding

ha <a biztonság> az alapértelmezett értékre Messagevan állítva.

Az wsFederationHttpBinding az üzenet biztonsági beállításainak részleteit szabályozza az üzenetben<>. Vegye figyelembe, hogy a <biztonsági> elem csak hozzáférést biztosít, mivel a kötés által használt biztonság nem módosítható a kötés létrehozása után.

A wsFederationHttpBinding szintén tartalmaz egy privacyNoticeAt attribútumot, amellyel beállíthatja és lekérheti azt az URI-t, amelyen az adatvédelmi nyilatkozat található.

A szabályzatok biztonságának megőrzése különösen fontos az összevonási forgatókönyvekben. Javasoljuk, hogy a szabályzat rosszindulatú felhasználók elleni védelméhez használjon valamilyen biztonsági formát, például a HTTPS-t.

Az ezt a kötést használó összevonási forgatókönyvekben a szolgáltatásszabályzat valószínűleg fontos információkkal rendelkezik, például a kibocsátott (SAML) jogkivonat titkosításához használandó kulccsal, a jogkivonatba helyezendő jogcímek típusával stb. Ha ezt a szabályzatot illetéktelenül módosítják, a támadó felfedezheti a kiadott jogkivonat kulcsát, ami további illetéktelen módosításhoz, információfelfedéshez és egyéb rosszindulatú viselkedéshez vezet. Ennek elkerülése érdekében a szabályzatot biztonságosan kell beszerezni (például HTTPS használatával) a szolgáltatásból.

További információ erről a kötésről : How to: Create a WSFederationHttpBinding (Útmutató: WSFederationhttpBinding létrehozása).

Példa

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

Lásd még