Procedura: specificare il tipo di credenziali client

Dopo avere impostato una modalità di sicurezza (trasporto o messaggio), è possibile impostare il tipo di credenziali client. Questa proprietà specifica il tipo di credenziali che il client deve fornire al servizio per l'autenticazione. Per altre informazioni sull'impostazione della modalità di sicurezza (un passaggio necessario prima di impostare il tipo di credenziale client), vedere Procedura: Impostare la modalità di sicurezza.

Per impostare il tipo di credenziali client nel codice

  1. Creare un'istanza dell'associazione che verrà utilizzata dal servizio. In questo esempio viene utilizzata l'associazione WSHttpBinding.

  2. Impostare la proprietà Mode su un valore appropriato. In questo esempio viene utilizzata la modalità messaggio.

  3. Impostare la proprietà ClientCredentialType su un valore appropriato. In questo esempio viene impostata per utilizzare l'autenticazione di Windows (Windows).

    ServiceHost myServiceHost = new ServiceHost(typeof(CalculatorService));
    // Create a binding to use.
    WSHttpBinding binding = new WSHttpBinding();
    binding.Security.Mode = SecurityMode.Message;
    binding.Security.Message.ClientCredentialType =
        MessageCredentialType.Windows;
    
    Dim myServiceHost As New ServiceHost(GetType(CalculatorService))
    ' Create a binding to use.
    Dim binding As New WSHttpBinding()
    binding.Security.Mode = SecurityMode.Message
    binding.Security.Message.ClientCredentialType = _
    MessageCredentialType.Windows
    

Per impostare il tipo di credenziali client nella configurazione

  1. Aggiungere un elemento <system.serviceModel> al file di configurazione.

  2. Come elemento figlio, aggiungere un elemento <bindings>.

  3. Aggiungere un'associazione appropriata. In questo esempio viene utilizzato l'elemento <wsHttpBinding>.

  4. Aggiungere un elemento <binding> e quindi impostare l'attributo name su un valore appropriato. In questo esempio viene utilizzato il nome "SecureBinding."

  5. Aggiungere un'associazione <security>. Impostare l'attributo mode su un valore appropriato. In questo esempio viene impostato su "Message".

  6. Aggiungere un elemento <message><transport> o<transport>, come determinato dalla modalità di sicurezza. Impostare l'attributo clientCredentialType su un valore appropriato. In questo esempio viene utilizzato "Windows".

    <system.serviceModel>  
      <bindings>  
        <wsHttpBinding>  
          <binding name="SecureBinding">  
            <security mode="Message">  
                 <message clientCredentialType="Windows" />  
             </security>  
          </binding>  
        </wsHttpBinding>  
      </bindings>  
    </system.serviceModel>  
    

Vedi anche