MessageSecurityOverHttp.NegotiateServiceCredential Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Obtient ou définit une valeur indiquant si les informations d'identification du service sont configurées sur le client hors bande ou obtenues auprès du service via 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 à et définir cette propriété.
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
L'affectation de la valeur true
à cette propriété nécessite la prise en charge de WS-Trust et WS-SecureConversation par le client et le service. L'affectation de la valeur false
à cette propriété ne requiert pas la prise en charge de WS-Trust ou WS-SecureConversation.
Pour les types d'informations d'identification client Anonymous, Username ou Certificate, l'affectation de la valeur false
à cette propriété signifie que le certificat du service doit être accessible au niveau du client hors bande et que le client doit spécifier le certificat du service à utiliser.
Dans le cas d'informations d'identification Windows, l'affectation de la valeur false
à cette propriété provoque une authentification basée sur KerberosToken
. Pour cela, il faut que le client et le service fassent 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. Lorsque cette propriété a la valeur true
, elle entraîne une négociation SOAP qui « tunnelle » l'échange SPNego sur des 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é a la valeur true
, une négociation de ce type a lieu. Si elle a la valeur false
, les informations d'identification de service doivent être spécifiées au niveau du client pour que la communication avec le service puisse être établie.
Si cette propriété a la valeur false
et que la liaison est configurée pour utiliser Windows comme type d’informations d’identification de client, le compte de service doit être associé à un nom de principal du service (SPN). Pour ce faire, exécutez le service sous le compte SERVICE RÉSEAU ou 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 correct dans l’élément <servicePrincipalName> , ou en utilisant le EndpointAddress constructeur. Pour plus d’informations, consultez Service Identity and Authentication.