Aracılığıyla paylaş


<wsFederationHttpBinding>

WS-Federasyon'u destekleyen bir bağlama tanımlar.

<Yapılandırma>
  <system.serviceModel>
    <Bağlama>
      <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>

Öznitelikler ve Öğeler

Öznitelikler, alt ve üst öğeler aşağıdaki bölümlerde açıklanmaktadır.

Öznitelikler

Öznitelik Açıklama
Bypassproxyonlocal Yerel adresler için ara sunucunun atlanıp atlanmayacağını belirten boole değeri. Varsayılan değer: false.
closeTimeout Kapatma TimeSpan işleminin tamamlanması için sağlanan zaman aralığını belirten değer. Bu değer değerinden büyük veya eşit Zeroolmalıdır. Varsayılan değer 00:01:00'dır.
hostnameComparisonMode URI'leri ayrıştırmak için kullanılan HTTP ana bilgisayar adı karşılaştırma modunu belirtir. Bu öznitelik, URI ile eşleştirilirken ana bilgisayar adının hizmete ulaşmak için kullanılıp kullanılmadığını gösteren türündedir HostNameComparisonMode. Varsayılan değer, eşleşmedeki ana bilgisayar adını yoksayan değeridir StrongWildcard.
maxBufferPoolSize Bu bağlama için en büyük arabellek havuzu boyutunu belirten bir tamsayı. Varsayılan değer 524.288 bayttır (512 * 1024). Windows Communication Foundation'ın (WCF) birçok bölümünde arabellek kullanılır. Arabelleklerin her kullanıldığında oluşturulması ve yok edilmesi pahalıdır ve arabellekler için atık toplama da pahalıdır. Arabellek havuzları ile havuzdan bir arabellek alabilir, kullanabilir ve işiniz bittiğinde havuza döndürebilirsiniz. Bu nedenle arabellek oluşturma ve yok etme ek yükünden kaçınılır.
maxReceivedMessageSize Bu bağlama ile yapılandırılmış bir kanalda alınabilecek üst bilgiler de dahil olmak üzere bayt cinsinden en büyük ileti boyutunu belirten pozitif bir tamsayı. Bu sınırı aşan bir iletinin göndereni SOAP hatası alır. Alıcı iletiyi bırakır ve izleme günlüğünde olayın bir girişini oluşturur. Varsayılan değer 65536'dır.
messageEncoding İletiyi kodlamak için kullanılan kodlayıcıyı tanımlar. Geçerli değerler şunlardır:

- Metin: Metin iletisi kodlayıcı kullanın.
- Mtom: İleti İletim Kuruluş Mekanizması 1.0 (MTOM) kodlayıcı kullanın.

Varsayılan değer Metin'dir.

Bu öznitelik türündedir WSMessageEncoding.
name Bağlamanın yapılandırma adını içeren bir dize. Bağlama için tanımlama olarak kullanıldığından bu değer benzersiz olmalıdır. .NET Framework 4'den başlayarak, bağlamaların ve davranışların bir ada sahip olması gerekmez. Varsayılan yapılandırma ve adsız bağlamalar ve davranışlar hakkında daha fazla bilgi için bkz. WCF Hizmetleri içinBasitleştirilmiş Yapılandırma ve Basitleştirilmiş Yapılandırma.
openTimeout Açık TimeSpan işlemin tamamlanması için sağlanan zaman aralığını belirten değer. Bu değer değerinden büyük veya eşit Zeroolmalıdır. Varsayılan değer 00:01:00'dır.
privacyNoticeAt Gizlilik bildiriminin bulunduğu URI'yi belirten dize.
privacyNoticeVersion Geçerli gizlilik bildiriminin sürümünü belirten bir tamsayı.
proxyAddress HTTP ara sunucusunun adresini belirten bir URI. ise useDefaultWebProxytrue, bu ayar olmalıdır null. Varsayılan değer: null.
receiveTimeout Alma TimeSpan işleminin tamamlanması için sağlanan zaman aralığını belirten değer. Bu değer değerinden büyük veya eşit Zeroolmalıdır. Varsayılan değer 00:10:00'dır.
sendTimeout Gönderme TimeSpan işleminin tamamlanması için sağlanan zaman aralığını belirten değer. Bu değer değerinden büyük veya eşit Zeroolmalıdır. Varsayılan değer 00:01:00'dır.
textEncoding Bağlamada iletileri yaymak için kullanılacak karakter kümesi kodlamasını ayarlar. Geçerli değerler şunlardır:

- BigEndianUnicode: Unicode BigEndian kodlaması.
- Unicode: 16 bit kodlama.
- UTF8: 8 bit kodlama

Varsayılan değer UTF8'dir. Bu öznitelik türü Encoding..
transactionFlow Bağlamanın akan WS-Transactions'i destekleyip desteklemediğini belirten bir Boole değeri. Varsayılan değer: false.
useDefaultWebProxy Sistemin otomatik olarak yapılandırılan HTTP proxy'sinin kullanılıp kullanılmadığını gösteren boole değeri. Bu öznitelik trueise proxy adresi olmalıdır null (yani ayarlanmamalıdır). Varsayılan değer: true.

Alt Öğeler

Öğe Açıklama
<Güvenlik> İletinin güvenlik ayarlarını tanımlar. Bu öğe türündedir WSFederationHttpSecurityElement.
<readerQuotas> Bu bağlama ile yapılandırılan uç noktalar tarafından işlenebilen SOAP iletilerinin karmaşıklığıyla ilgili kısıtlamaları tanımlar. Bu öğe türündedir XmlDictionaryReaderQuotasElement.
<reliableSession> Kanal uç noktaları arasında güvenilir oturumların kurulup kurulmadığını belirtir.

Üst Öğeler

Öğe Açıklama
<Bağlama> Bu öğe standart ve özel bağlamalardan oluşan bir koleksiyonu barındırıyor.

Açıklamalar

Federasyon, kimlik doğrulaması ve yetkilendirme için kimlikleri birden çok sistem arasında paylaşma özelliğidir. Bu kimlikler kullanıcılara veya makinelere başvurabilir. Federasyon HTTP, SOAP güvenliğinin yanı sıra karma mod güvenliğini de destekler, ancak yalnızca aktarım güvenliğinin kullanılmasını desteklemez. Bu bağlama, WS-Federation protokolü için Windows Communication Foundation (WCF) desteği sağlar. Bu bağlama ile yapılandırılan hizmetler HTTP aktarımını kullanmalıdır.

Bağlamalar bir bağlama öğeleri yığınından oluşur. içindeki bağlama öğelerinin yığını

wsFederationHttpBinding içinde bulunanla aynıdır wsHttpBinding

<güvenlik> varsayılan değerine Messageayarlandığında.

, wsFederationHttpBinding iletideki ileti güvenlik ayarlarının <>ayrıntılarını denetler. Bağlama oluşturulduktan sonra bağlama tarafından kullanılan güvenlik değiştirilemediğinden, güvenlik> öğesinin yalnızca erişim sağlamasını sağladığını unutmayın.<

ayrıca wsFederationHttpBinding , gizlilik bildiriminin bulunduğu URI'yi ayarlamak ve almak için bir privacyNoticeAt özniteliği sağlar.

İlkenin güvenli tutulması özellikle federasyon senaryolarında önemlidir. öneri, ilkeyi kötü amaçlı kullanıcılardan korumak için HTTPS gibi bir tür güvenlik kullanmaktır.

Bu bağlamayı kullanan federasyon senaryolarında hizmet ilkesi, verilen (SAML) belirtecini şifrelemek için kullanılacak anahtar, belirtece konulacak talep türü vb. gibi önemli bilgilere sahip olabilir. Bu ilkeyle oynanırsa, saldırgan verilen belirtecin anahtarını bulabilir ve daha fazla kurcalamaya, bilgilerin açığa çıkmasına ve diğer kötü amaçlı davranışlara yol açabilir. Bunun önlenmesine yardımcı olmak için ilkenin hizmetten güvenli bir şekilde (örneğin HTTPS kullanarak) alınması gerekir.

Bu bağlama hakkında daha fazla bilgi için bkz . Nasıl yapılır: WSFederation OluşturmaHttpBinding.

Örnek

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

Ayrıca bkz.