Langage

MessageSecurityOverHttp.NegotiateServiceCredential Propriété

Définition

Obtient ou définit une valeur qui indique si les informations d’identification du service sont approvisionnées au niveau du client hors bande ou obtenues à partir du service par le biais d’un processus de négociation.

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

Valeur de propriété

true si les informations d’identification du service sont obtenues par le biais d’un processus de négociation ; sinon, false. La valeur par défaut est true.

Exemples

Le code suivant montre comment accéder à cette propriété et la définir.

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)

Remarques

Définir cette propriété truesur , nécessite WS-Trust et WS-SecureConversation être pris en charge par le client et le service. La définition de cette propriété false n’exige pas WS-Trust ou WS-SecureConversation d’être prise en charge.

Pour les types d’informations d’identification du client anonyme, nom d’utilisateur ou certificat, la définition de cette propriété false implique que le certificat de service doit être disponible sur le client hors bande et que le client doit spécifier le certificat du service à utiliser.

Dans le cas de Windows informations d’identification, la définition de cette propriété sur false provoque une authentification basée sur KerberosToken. Cela nécessite que le client et le service font partie d’un domaine Kerberos. Ce mode est interopérable avec les piles SOAP qui implémentent le profil de jeton Kerberos à partir d’OASIS. Définir cette propriété pour true provoquer une négociation SOAP qui tunnelise l’échange SPNego sur les messages SOAP. Ce mode n’est pas interopérable.

Cette propriété indique si les informations d’identification du service sont négociées automatiquement entre le client et le service. Si cette propriété est true, cette négociation se produit. Si cette propriété est false, les informations d’identification du service doivent être spécifiées au niveau du client avant que la communication avec le service puisse se produire.

Si cette propriété est définie falsesur , et que la liaison est configurée pour utiliser Windows comme type d’informations d’identification client, le compte de service doit être associé à un nom de principal de service (SPN). Pour ce faire, exécutez le service sous le compte SERVICE RÉSEAU ou le compte SYSTÈME LOCAL. Utilisez également l'outil SetSpn.exe pour créer un SPN pour le compte de service. Dans les deux cas, le client doit utiliser le SPN qui convient dans l’élément <servicePrincipalName>, ou utiliser le constructeur EndpointAddress. Pour plus d’informations, consultez Identité du service et authentification.

S’applique à