Condividi tramite


<wsFederationHttpBinding>

Definisce un'associazione che supporta WS-Federation.

<configurazione>
   <system.serviceModel>
     <Associazioni>
       <wsFederationHttpBinding>

Sintassi

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

Attributi ed elementi

Nelle sezioni seguenti vengono descritti gli attributi, gli elementi figlio e gli elementi padre.

Attributes

Attribute Description
bypassProxyOnLocal Valore booleano che indica se ignorare il server proxy per gli indirizzi locali. Il valore predefinito è false.
closeTimeout Valore TimeSpan che specifica l'intervallo di tempo specificato per il completamento di un'operazione di chiusura. Questo valore deve essere maggiore o uguale a Zero. Il valore predefinito è 00:01:00.
hostnameComparisonMode Specifica la modalità di confronto dei nomi host HTTP usata per analizzare gli URI. Questo attributo è di tipo HostNameComparisonMode, che indica se il nome host viene usato per raggiungere il servizio quando corrisponde all'URI. Il valore predefinito è StrongWildcard, che ignora il nome host nella corrispondenza.
maxBufferPoolSize Intero che specifica le dimensioni massime del pool di buffer per questa associazione. Il valore predefinito è 524.288 byte (512 * 1024). Molte parti di Windows Communication Foundation (WCF) usano buffer. La creazione e l'eliminazione di buffer ogni volta che vengono usati è costosa e anche l'operazione di Garbage Collection per i buffer è costosa. Con i pool di buffer, è possibile recuperare un buffer dal pool, usarlo e restituirlo al pool al termine dell'operazione. Pertanto, viene evitato il sovraccarico nella creazione e nell'eliminazione dei buffer.
maxReceivedMessageSize Intero positivo che specifica le dimensioni massime del messaggio, in byte, incluse le intestazioni, che possono essere ricevute in un canale configurato con questa associazione. Il mittente di un messaggio che supera questo limite riceverà un errore SOAP. Il ricevitore elimina il messaggio e crea una voce dell'evento nel log di traccia. Il valore predefinito è 65536.
messageEncoding Definisce il codificatore utilizzato per codificare il messaggio. I valori validi includono quanto segue:

- Testo: usare un codificatore di messaggi di testo.
- Mtom: usare un codificatore MTOM (Message Transmission Organization Mechanism 1.0).

Il valore predefinito è testo.

Questo attributo è di tipo WSMessageEncoding.
nome Stringa contenente il nome di configurazione dell'associazione. Questo valore deve essere univoco perché viene usato come identificazione per l'associazione. A partire da .NET Framework 4, le associazioni e i comportamenti non devono avere un nome. Per altre informazioni sulla configurazione predefinita e sui comportamenti senza nome, vedere Configurazione semplificata e configurazione semplificata per i servizi WCF.
openTimeout Valore TimeSpan che specifica l'intervallo di tempo specificato per il completamento di un'operazione aperta. Questo valore deve essere maggiore o uguale a Zero. Il valore predefinito è 00:01:00.
privacyNoticeAt Valore String che specifica un URI in corrispondenza del quale si trova l'informativa sulla privacy.
privacyNoticeVersion Intero che specifica la versione dell'informativa sulla privacy corrente.
proxyAddress URI che specifica l'indirizzo del proxy HTTP. Se useDefaultWebProxy è true, questa impostazione deve essere null. Il valore predefinito è null.
receiveTimeout Valore TimeSpan che specifica l'intervallo di tempo specificato per il completamento di un'operazione di ricezione. Questo valore deve essere maggiore o uguale a Zero. Il valore predefinito è 00:10:00.
sendTimeout Valore TimeSpan che specifica l'intervallo di tempo specificato per il completamento di un'operazione di invio. Questo valore deve essere maggiore o uguale a Zero. Il valore predefinito è 00:01:00.
textEncoding Imposta la codifica del set di caratteri da utilizzare per l'emissione di messaggi nell'associazione. I valori validi includono quanto segue:

- BigEndianUnicode: codifica BigEndian Unicode.
- Unicode: codifica a 16 bit.
- UTF8: codifica a 8 bit

Il valore predefinito è UTF8. Questo attributo è di tipo Encoding..
transactionFlow Valore booleano che specifica se l'associazione supporta il flusso di WS-Transactions. Il valore predefinito è false.
useDefaultWebProxy Valore booleano che indica se viene usato il proxy HTTP configurato automaticamente dal sistema. L'indirizzo proxy deve essere null (ovvero, non impostato) se questo attributo è true. Il valore predefinito è true.

Elementi figli

Elemento Description
<sicurezza> Definisce le impostazioni di sicurezza per il messaggio. Questo elemento è di tipo WSFederationHttpSecurityElement.
<readerQuotas> Definisce i vincoli sulla complessità dei messaggi SOAP che possono essere elaborati dagli endpoint configurati con questa associazione. Questo elemento è di tipo XmlDictionaryReaderQuotasElement.
<ReliableSession> Specifica se vengono stabilite sessioni affidabili tra gli endpoint del canale.

Elementi padre

Elemento Description
<Associazioni> Questo elemento contiene una raccolta di associazioni standard e personalizzate.

Osservazioni:

La federazione è la possibilità di condividere le identità tra più sistemi per l'autenticazione e l'autorizzazione. Queste identità possono fare riferimento a utenti o computer. HTTP federato supporta la sicurezza SOAP e la sicurezza in modalità mista, ma non supporta esclusivamente l'uso della sicurezza del trasporto. Questa associazione fornisce il supporto di Windows Communication Foundation (WCF) per il protocollo WS-Federation. I servizi configurati con questa associazione devono usare il trasporto HTTP.

Le associazioni sono costituite da uno stack di elementi di associazione. Stack di elementi di associazione in

wsFederationHttpBinding è uguale a quello contenuto in wsHttpBinding

quando <la sicurezza> è impostata sul valore predefinito di Message.

Controlla wsFederationHttpBinding i dettagli delle impostazioni di sicurezza dei messaggi nel <messaggio>. Si noti che l'elemento di sicurezza< fornisce l'accesso> solo perché la sicurezza usata dall'associazione non può essere modificata dopo la creazione dell'associazione.

Fornisce wsFederationHttpBinding inoltre un attributo privacyNoticeAt per impostare e recuperare l'URI in corrispondenza del quale si trova l'informativa sulla privacy.

Mantenere i criteri sicuri è particolarmente importante negli scenari di federazione. È consigliabile usare una qualche forma di sicurezza, ad esempio HTTPS, per proteggere i criteri da utenti malintenzionati.

Negli scenari di federazione che usano questa associazione, i criteri di servizio hanno potenzialmente informazioni importanti, ad esempio la chiave da usare per crittografare il token SAML emesso, il tipo di attestazioni da inserire nel token e così via. Se questo criterio viene manomesso, un utente malintenzionato potrebbe individuare la chiave del token rilasciato, causando ulteriori manomissioni, divulgazione di informazioni e altri comportamenti dannosi. Per evitare questo problema, i criteri devono essere ottenuti in modo sicuro (ad esempio usando HTTPS) dal servizio.

Per altre informazioni su questa associazione, vedere Procedura: Creare un 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>

Vedere anche