<trasporto> di <netHttpBinding>

Definisce proprietà che controllano i parametri di autenticazione per il trasporto HTTP.

<Configurazione>
  <system.serviceModel>
    <Associazioni>
      <netHttpBinding>
        <Associazione>
          <Sicurezza>
            <Trasporto>

Sintassi

<netHttpBinding>
  <binding>
    <security mode="None|Transport|Message|TransportWithMessageCredential|TransportCredentialOnly">
      <transport clientCredentialType="None|Basic|Digest|Ntlm|Windows"
                 proxyCredentialType="None|Basic|Digest|Ntlm|Windows"
                 realm="string">
        <extendedProtectionPolicy policyEnforcement="Never|WhenSupported|Always"
                                  protectionScenario="TransportSelected|TrustedProxy">
          <customServiceNames>
          </customServiceNames>
        </extendedProtectionPolicy>
      </transport>
    </security>
  </binding>
</netHttpBinding>

Attributi ed elementi

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

Attributi

Attributo Descrizione
clientCredentialType - Specifica il tipo di credenziale da usare durante l'esecuzione dell'autenticazione client tramite l'autenticazione HTTP. Il valore predefinito è None. L'attributo è di tipo HttpClientCredentialType.
proxyCredentialType - Specifica il tipo di credenziale da usare quando si esegue l'autenticazione client dall'interno di un dominio usando un proxy tramite HTTP. Questo attributo è applicabile solo quando l'attributo mode dell'elemento security padre è Transport o TransportCredentialsOnly. L'attributo è di tipo HttpProxyCredentialType.
realm Stringa che specifica l'area di autenticazione usata dallo schema di autenticazione HTTP per l'autenticazione digest o di base. Il valore predefinito è una stringa vuota.
policyEnforcement Questa enumerazione specifica il momento in cui deve essere applicato l'oggetto ExtendedProtectionPolicy.

1. Mai: il criterio non viene mai applicato (la protezione estesa è disabilitata).
2. Quando Supported: il criterio viene applicato solo se il client supporta La protezione estesa.
3. Sempre: il criterio viene sempre applicato. L'autenticazione dei client che non supportano la protezione estesa avrà esito negativo.
protectionScenario Questa enumerazione specifica lo scenario di protezione applicato dai criteri.

Attributo clientCredentialType

Valore Descrizione
nessuno I messaggi non vengono protetti durante il trasferimento.
Basic Specifica l'autenticazione di base.
Digest Specifica l'autenticazione digest.
NTLM Specifica l'autenticazione NTLM quando possibile e se l'autenticazione di Windows non riesce.
Windows Specifica l'autenticazione Windows integrata.

Attributo proxyCredentialType

Valore Descrizione
nessuno - I messaggi non sono protetti durante il trasferimento.
Basic Specifica l'autenticazione di base come definita da RFC 2617 – HTTP Authentication: Basic and Digest Authentication.
Digest Specifica l'autenticazione digest come definita da RFC 2617 – HTTP Authentication: Basic and Digest Authentication.
NTLM Specifica l'autenticazione NTLM quando possibile e se l'autenticazione di Windows non riesce.
Windows Specifica l'autenticazione Windows integrata.
Certificato Esegue l'autenticazione client mediante un certificato. Questa opzione funziona solo se l'attributo Mode dell'elemento security padre è impostato su Transport, mentre non funzionerà se viene impostato su TransportCredentialOnly.

Elementi figlio

Nessuno

Elementi padre

Elemento Descrizione
<Sicurezza> Definisce le funzionalità di sicurezza per <netHttpBinding>.

Esempio

Nell'esempio seguente è dimostrato l'uso della sicurezza del trasporto SSL con l'associazione di base. Per impostazione predefinita, l'associazione di base supporta la comunicazione HTTP.

<system.serviceModel>
  <services>
    <service type="Microsoft.ServiceModel.Samples.CalculatorService"
             behaviorConfiguration="CalculatorServiceBehavior">
      <endpoint address=""
                binding="netHttpBinding"
                bindingConfiguration="Binding1"
                contract="Microsoft.ServiceModel.Samples.ICalculator" />
    </service>
  </services>
  <bindings>
    <netHttpBinding>
      <!-- Configure basicHttpBinding with Transport security -->
      <!-- mode and clientCredentialType set to None. -->
      <binding name="Binding1">
        <security mode="Transport">
          <transport clientCredentialType="None"
                     proxyCredentialType="None">
            <extendedProtectionPolicy policyEnforcement="WhenSupported"
                                      protectionScenario="TransportSelected">
              <customServiceNames>
              </customServiceNames>
            </extendedProtectionPolicy>
          </transport>
        </security>
      </binding>
    </netHttpBinding>
  </bindings>
</system.serviceModel>

Vedi anche