<wsFederationHttpBinding>

Menentukan pengikatan yang mendukung WS-Federation.

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

Atribut dan Elemen

Bagian berikut menjelaskan atribut, elemen turunan, dan elemen induk.

Attributes

Attribute Description
bypassProxyOnLocal Nilai Boolean yang menunjukkan apakah akan melewati server proksi untuk alamat lokal. Defaultnya adalah false.
closeTimeout Nilai TimeSpan yang menentukan interval waktu yang disediakan agar operasi dekat selesai. Nilai ini harus lebih besar dari atau sama dengan Zero. Defaultnya adalah 00:01:00.
hostnameComparisonMode Menentukan mode perbandingan nama host HTTP yang digunakan untuk mengurai URI. Atribut ini berjenis HostNameComparisonMode, yang menunjukkan apakah nama host digunakan untuk menjangkau layanan saat cocok pada URI. Nilai defaultnya adalah StrongWildcard, yang mengabaikan nama host dalam kecocokan.
maxBufferPoolSize Bilangan bulat yang menentukan ukuran kumpulan buffer maksimum untuk pengikatan ini. Defaultnya adalah 524.288 byte (512 * 1024). Banyak bagian dari Windows Communication Foundation (WCF) menggunakan buffer. Membuat dan menghancurkan buffer setiap kali digunakan mahal, dan pengumpulan sampah untuk buffer juga mahal. Dengan kumpulan buffer, Anda dapat mengambil buffer dari kumpulan, menggunakannya, dan mengembalikannya ke kumpulan setelah selesai. Dengan demikian overhead dalam membuat dan menghancurkan buffer dihindari.
maxReceivedMessageSize Bilangan bulat positif yang menentukan ukuran pesan maksimum, dalam byte, termasuk header, yang dapat diterima pada saluran yang dikonfigurasi dengan pengikatan ini. Pengirim pesan yang melebihi batas ini akan menerima kesalahan SOAP. Penerima menghilangkan pesan dan membuat entri peristiwa di log jejak. Defaultnya adalah 65536.
pesanEncoding Menentukan encoder yang digunakan untuk mengodekan pesan. Nilai yang valid mencakup yang berikut ini:

- Teks: Gunakan encoder pesan teks.
- Mtom: Gunakan encoder Message Transmission Organization Mechanism 1.0 (MTOM).

Standarnya adalah Teks.

Atribut ini berjenis WSMessageEncoding.
Nama String yang berisi nama konfigurasi pengikatan. Nilai ini harus unik karena digunakan sebagai identifikasi untuk pengikatan. Dimulai dengan .NET Framework 4, pengikatan dan perilaku tidak diperlukan untuk memiliki nama. Untuk informasi selengkapnya tentang konfigurasi default dan pengikatan dan perilaku tanpa nama, lihat Konfigurasi Yang Disederhanakan dan Konfigurasi Yang Disederhanakan untuk Layanan WCF.
openTimeout TimeSpan Nilai yang menentukan interval waktu yang disediakan agar operasi terbuka selesai. Nilai ini harus lebih besar dari atau sama dengan Zero. Defaultnya adalah 00:01:00.
privacyNoticeAt String yang menentukan URI tempat pemberitahuan privasi berada.
privacyNoticeVersion Bilangan bulat yang menentukan versi pemberitahuan privasi saat ini.
proxyAddress URI yang menentukan alamat proksi HTTP. Jika useDefaultWebProxy adalah true, pengaturan ini harus null. Defaultnya adalah null.
receiveTimeout Nilai TimeSpan yang menentukan interval waktu yang disediakan agar operasi penerima selesai. Nilai ini harus lebih besar dari atau sama dengan Zero. Defaultnya adalah 00:10:00.
sendTimeout Nilai TimeSpan yang menentukan interval waktu yang disediakan agar operasi pengiriman selesai. Nilai ini harus lebih besar dari atau sama dengan Zero. Defaultnya adalah 00:01:00.
textEncoding Mengatur pengodean set karakter yang akan digunakan untuk memancarkan pesan pada pengikatan. Nilai yang valid mencakup yang berikut ini:

- BigEndianUnicode: Pengodean Unicode BigEndian.
- Unicode: Pengodean 16-bit.
- UTF8: Pengodean 8-bit

Defaultnya adalah UTF8. Atribut ini berjenis Encoding..
transactionFlow Nilai Boolean yang menentukan apakah pengikatan mendukung aliran WS-Transactions. Defaultnya adalah false.
useDefaultWebProxy Nilai Boolean yang menunjukkan apakah proksi HTTP yang dikonfigurasi otomatis sistem digunakan. Alamat proksi harus null (yaitu, tidak diatur) jika atribut ini adalah true. Defaultnya adalah true.

Elemen Anak

Elemen Description
<keamanan> Menentukan pengaturan keamanan untuk pesan. Elemen ini berjenis WSFederationHttpSecurityElement.
<readerQuotas> Menentukan batasan pada kompleksitas pesan SOAP yang dapat diproses oleh titik akhir yang dikonfigurasi dengan pengikatan ini. Elemen ini berjenis XmlDictionaryReaderQuotasElement.
<reliableSession> Menentukan apakah sesi yang andal dibuat di antara titik akhir saluran.

Elemen Induk

Elemen Description
<Binding> Elemen ini menyimpan kumpulan pengikatan standar dan kustom.

Komentar

Federasi adalah kemampuan untuk berbagi identitas di beberapa sistem untuk autentikasi dan otorisasi. Identitas ini dapat merujuk ke pengguna atau ke mesin. HTTP federasi mendukung keamanan SOAP serta keamanan mode campuran, tetapi tidak mendukung secara eksklusif menggunakan keamanan transportasi. Pengikatan ini menyediakan dukungan Windows Communication Foundation (WCF) untuk protokol WS-Federation. Layanan yang dikonfigurasi dengan pengikatan ini harus menggunakan transportasi HTTP.

Pengikatan terdiri dari tumpukan elemen pengikatan. Tumpukan elemen pengikatan di

wsFederationHttpBinding sama dengan yang terkandung dalam wsHttpBinding

ketika <keamanan> diatur ke nilai Messagedefault .

wsFederationHttpBinding Mengontrol detail pengaturan keamanan pesan dalam <pesan>. Perhatikan bahwa <elemen keamanan> menyediakan akses hanya karena keamanan yang digunakan oleh pengikatan tidak dapat diubah setelah pengikatan dibuat.

juga wsFederationHttpBinding menyediakan atribut privacyNoticeAt untuk mengatur dan mengambil URI tempat pemberitahuan privasi berada.

Menjaga keamanan kebijakan sangat penting dalam skenario federasi. Rekomendasinya adalah menggunakan beberapa bentuk keamanan, seperti HTTPS, untuk melindungi kebijakan dari pengguna berbahaya.

Dalam skenario federasi menggunakan pengikatan ini, kebijakan layanan berpotensi memiliki informasi penting seperti kunci yang digunakan untuk mengenkripsi token yang dikeluarkan (SAML), jenis klaim yang akan dimasukkan ke dalam token, dan sebagainya. Jika kebijakan ini dirusak, penyerang dapat menemukan kunci token yang dikeluarkan yang mengarah ke perubahan lebih lanjut, pengungkapan info, dan perilaku berbahaya lainnya. Untuk membantu mencegah hal ini, kebijakan harus diperoleh dengan aman (misalnya menggunakan HTTPS) dari layanan.

Untuk informasi selengkapnya tentang pengikatan ini, lihat Cara: Membuat 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>

Lihat juga