MessageSecurityOverHttp.NegotiateServiceCredential Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene o imposta un valore che indica se viene eseguito il provisioning della credenziale del servizio al client fuori banda o se viene fornita dal servizio tramite un processo di negoziazione.
public:
property bool NegotiateServiceCredential { bool get(); void set(bool value); };
public bool NegotiateServiceCredential { get; set; }
member this.NegotiateServiceCredential : bool with get, set
Public Property NegotiateServiceCredential As Boolean
Valore della proprietà
true
se la credenziale del servizio viene ottenuta tramite un processo di negoziazione. In caso contrario false
. Il valore predefinito è true
.
Esempio
Nel codice seguente viene illustrato come accedere a questa proprietà e come impostarla.
WSHttpBinding binding = new WSHttpBinding();
binding.Security.Mode = SecurityMode.Message;
binding.Security.Message.ClientCredentialType =
MessageCredentialType.UserName;
binding.Security.Message.NegotiateServiceCredential = false;
CalculatorClient CalculatorClient = new CalculatorClient("myBinding");
CalculatorClient.ClientCredentials.ServiceCertificate.
SetDefaultCertificate("Al", StoreLocation.CurrentUser, StoreName.My);
Dim binding As New WSHttpBinding()
binding.Security.Mode = SecurityMode.Message
binding.Security.Message.ClientCredentialType = _
MessageCredentialType.UserName
binding.Security.Message.NegotiateServiceCredential = False
Dim CalculatorClient As New CalculatorClient("myBinding")
CalculatorClient.ClientCredentials.ServiceCertificate. _
SetDefaultCertificate("Al", StoreLocation.CurrentUser, StoreName.My)
Commenti
Se questa proprietà viene impostata su true
, è necessario che il client e il servizio supportino i protocolli WS-Trust e WS-SecureConversation. Se viene impostata su false
, non è necessario il supporto di tali protocolli.
Per i tipi di credenziali client Anonymous, Username o Certificate, se questa proprietà viene impostata su false
, il certificato del servizio deve essere disponibile sul client fuori banda e il client deve specificare il certificato del servizio da utilizzare.
Nel caso delle credenziali Windows, l'impostazione di questa proprietà su false
comporta un'autenticazione basata su KerberosToken
. Questo richiede che il client e il servizio facciano parte di un dominio Kerberos. Questa modalità è interoperativa con gli stack SOAP che implementano il profilo del token Kerberos di OASIS. Con l'impostazione di questa proprietà su true
, si verifica una negoziazione SOAP che esegue il tunneling dello scambio SPNego su messaggi SOAP. Tale modalità non è interoperativa.
Questa proprietà indica se la credenziale del servizio viene negoziata automaticamente tra il client e il servizio. Se questa proprietà è true
, la suddetta negoziazione ha luogo. Se invece questa proprietà è false
, prima che la comunicazione con il servizio possa avere luogo è necessario specificare le credenziali del servizio nel client.
Se questa proprietà è impostata su false
e l'associazione è configurata per utilizzare Windows come tipo di credenziale client, l'account del servizio deve essere associato a un nome principale di servizio (SPN). A tale scopo, eseguire il servizio sotto l'account Servizio di rete o sotto l'account di sistema locale. In alternativa, utilizzare lo strumento SetSpn.exe per creare un SPN per l'account del servizio. In entrambi i casi, il client deve usare il nome SPN corretto nell'elemento <servicePrincipalName> o usando il EndpointAddress costruttore . Per altre informazioni, vedere Identità del servizio e autenticazione.