<associazioneHttpWsFederation>
Definisce un'associazione che supporta WS-Federation.
Gerarchia dello schema
<system.serviceModel>
<bindings>
<associazioneHttpWsFederation>
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>
</wsFederationBinding>
Attributi ed elementi
Nelle sezioni seguenti vengono descritti attributi, elementi figlio ed elementi padre.
Attributi
Attributo | Descrizione |
---|---|
bypassProxyOnLocal |
Valore booleano che indica se ignorare il server proxy per indirizzi locali. Il valore predefinito è false. |
closeTimeout |
Valore TimeSpan che specifica l'intervallo di tempo fornito per il completamento di un'operazione di chiusura. Questo valore deve essere maggiore o uguale a Zero. L'impostazione predefinita è 00:01:00. |
hostnameComparisonMode |
Specifica la modalità di confronto del nome host HTTP utilizzata per analizzare gli URI. Questo attributo è di tipo HostnameComparisonMode, il quale indica se il nome host viene utilizzato per raggiungere il servizio in caso di corrispondenza dell'URI. Il valore predefinito è StrongWildcard, che ignora il nome host nella corrispondenza. |
maxBufferPoolSize |
Numero intero che specifica la dimensione del pool di buffer massima per questa associazione. Il valore predefinito è 524.288 byte (512 * 1024). Molte parti di Windows Communication Foundation (WCF) utilizzano buffer. La creazione e l'eliminazione dei buffer a ogni loro utilizzo sono operazioni onerose, come anche le procedure di Garbage Collection dei buffer. Quando si utilizza un pool di buffer è possibile prelevare un buffer dal pool, utilizzarlo e, al termine delle operazioni, riporlo nel pool. In questo modo è possibile evitare il sovraccarico dovuto alla creazione e all'eliminazione dei buffer. |
maxReceivedMessageSize |
Integer positivo che specifica la dimensione massima del messaggio, incluse le intestazioni, che è possibile ricevere su un canale configurato con questa associazione. Il mittente di un messaggio che supera questo limite riceverà un errore SOAP. Il destinatario elimina il messaggio e crea una voce dell'evento nel registro di traccia. Il valore predefinito è 65536. |
messageEncoding |
Definisce il codificatore utilizzato per codificare il messaggio. Di seguito vengono elencati i valori validi:
L'impostazione predefinita è Text. L'attributo è di tipo WSMessageEncoding. |
name |
Stringa che contiene il nome della configurazione dell'associazione. Questo valore deve essere univoco perché viene utilizzato per identificare l'associazione. A partire da .NET Framework 4, non è necessario che le associazioni e i comportamenti dispongano di un nome. Per ulteriori informazioni sulla configurazione predefinita e le associazioni e i comportamenti senza nome, vedere Simplified Configuration e Simplified Configuration for WCF Services. |
openTimeout |
Valore TimeSpan che specifica l'intervallo di tempo fornito per il completamento di un'operazione di apertura. Questo valore deve essere maggiore o uguale a Zero. L'impostazione predefinita è 00:01:00. |
privactyNoticeAt |
Stringa che specifica l'URI presso cui è disponibile l'informativa sulla privacy. |
privactyNoticeVersion |
Numero 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 fornito per il completamento di un'operazione di ricezione. Questo valore deve essere maggiore o uguale a Zero. L'impostazione predefinita è 00:10:00. |
sendTimeout |
Valore TimeSpan che specifica l'intervallo di tempo fornito per il completamento di un'operazione di invio. Questo valore deve essere maggiore o uguale a Zero. L'impostazione predefinita è 00:01:00. |
textEncoding |
Imposta la codifica del set di caratteri da utilizzare per l'emissione dei messaggi nell'associazione. Di seguito vengono elencati i valori validi:
L'impostazione predefinita è UTF8. L'attributo è di tipo Encoding. |
transactionFlow |
Valore booleano che specifica se l'associazione supporta la propagazione di WS-Transactions. Il valore predefinito è false. |
useDefaultWebProxy |
Valore booleano che indica se viene utilizzato il proxy HTTP di sistema configurato automaticamente. L'indirizzo proxy deve essere null, ovvero non deve essere impostato, se l'attributo è true. Il valore predefinito è true. |
Elementi figlio
Elemento | Descrizione |
---|---|
Definisce le impostazioni di sicurezza per il messaggio. L'elemento è di tipo WSFederationHttpSecurityElement. |
|
Definisce i vincoli sulla complessità dei messaggi SOAP che possono essere elaborati dagli endpoint configurati con questa associazione. L'elemento è di tipo XmlDictionaryReaderQuotasElement. |
|
Specifica se vengono stabilite sessioni affidabili tra endpoint del canale. |
Elementi padre
Elemento | Descrizione |
---|---|
Questo elemento contiene una raccolta di associazioni standard e personalizzate. |
Osservazioni
La federazione è la possibilità di condividere le identità di autenticazione e di autorizzazione fra più sistemi. Queste identità possono fare riferimento agli utenti o ai computer. Il protocollo HTTP federato supporta la sicurezza SOAP e una sicurezza a modalità mista, ma non supporta l'utilizzo esclusivo della sicurezza del trasporto. Questa associazione consente al sistema Windows Communication Foundation (WCF) di supportare il protocollo WS-Federation. I servizi configurati con questa associazione devono utilizzare il trasporto HTTP.
Le associazioni sono costituite da uno stack di elementi di associazione. Lo stack di elementi di associazione in
wsFederationHttpBinding è uguale a quello incluso in wsHttpBinding
quando l'impostazione di <security> di <wsFederationHttpBinding> corrisponde al valore predefinito di Message.
wsFederationHttpBinding controlla i dettagli delle impostazioni di sicurezza dei messaggi in Elemento <message> di <wsFederationHttpBinding>. Poiché la sicurezza utilizzata dall'associazione non può più essere modificata dopo la creazione dell'associazione, l'elemento <security> di <wsFederationHttpBinding> fornisce soltanto l'autorizzazione di accesso.
wsFederationHttpBinding fornisce inoltre un attributo privactyNoticeAt per impostare e recuperare l'URI in corrispondenza del quale si trova l'informativa sulla privacy.
La sicurezza del criterio è particolarmente importante negli scenari della federazione. Il consiglio è utilizzare qualche forma di sicurezza, ad esempio HTTPS, per proteggere il criterio dagli utenti malintenzionati.
In scenari della federazione che utilizzano questa associazione, il criterio del servizio contiene potenzialmente importanti informazioni quali la chiave da utilizzare per crittografare il token emesso (SAML), il tipo di attestazioni in cui inserire il token e così via. Se questo criterio viene manomesso, un pirata informatico potrebbe individuare la chiave del token emesso per eseguire ulteriori manomissioni, divulgare informazioni e altri comportamenti dannosi. Per aiutare a impedire questa possibilità, il criterio deve essere ottenuto in modo protetto dal servizio, ad esempio utilizzando HTTPS.
Per ulteriori informazioni su questa associazione, vedere How to: Create a WSFederationHttpBinding.
Esempio
<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="https://localhost/Sts" />
</message>
</security>
</binding>
</wsFederationBinding>
</bindings>
</system.ServiceModel>
</configuration>
Vedere anche
Riferimento
WSFederationHttpBinding
WSFederationHttpBindingElement
Concetti
Altre risorse
How to: Create a WSFederationHttpBinding
Windows Communication Foundation Bindings
Configuring System-Provided Bindings
Using Bindings to Configure Services and Clients