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
Creare un'istanza dell'associazione che verrà utilizzata dal servizio. In questo esempio viene utilizzata l'associazione WSHttpBinding.
Impostare la proprietà Mode su un valore appropriato. In questo esempio viene utilizzata la modalità messaggio.
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
Aggiungere un elemento <system.serviceModel> al file di configurazione.
Come elemento figlio, aggiungere un elemento <bindings>.
Aggiungere un'associazione appropriata. In questo esempio viene utilizzato l'elemento <wsHttpBinding>.
Aggiungere un elemento <binding> e quindi impostare l'attributo
name
su un valore appropriato. In questo esempio viene utilizzato il nome "SecureBinding."Aggiungere un'associazione
<security>
. Impostare l'attributomode
su un valore appropriato. In questo esempio viene impostato su"Message"
.Aggiungere un elemento
<message>
<transport> o<transport>
, come determinato dalla modalità di sicurezza. Impostare l'attributoclientCredentialType
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>