MessageSecurityOverHttp.NegotiateServiceCredential MessageSecurityOverHttp.NegotiateServiceCredential MessageSecurityOverHttp.NegotiateServiceCredential MessageSecurityOverHttp.NegotiateServiceCredential Property

Définition

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.Gets or sets a value that indicates whether the service credential is provisioned at the client out of band or is obtained from the service through a process of negotiation.

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.true if service credential is obtained through a process of negotiation; otherwise, false. La valeur par défaut est true.The default is true.

Exemples

Le code suivant montre comment accéder à et définir cette propriété.The following code shows how to access and set this property.

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.Setting this property to true, requires WS-Trust and WS-SecureConversation to be supported by the client and the service. L'affectation de la valeur false à cette propriété ne requiert pas la prise en charge de WS-Trust ou WS-SecureConversation.Setting this property to false does not require WS-Trust or WS-SecureConversation to be supported.

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.For Anonymous, Username or Certificate client credential types, setting this property to false implies that the service certificate must be available at the client out of band and that the client must specify the service's certificate to use.

Dans le cas d'informations d'identification Windows, l'affectation de la valeur false à cette propriété provoque une authentification basée sur KerberosToken.In the case of Windows credentials, setting this property to false causes an authentication based on KerberosToken. Pour cela, il faut que le client et le service fassent partie d'un domaine Kerberos.This requires that the client and service be part of a Kerberos domain. Ce mode est interopérable avec les piles SOAP qui implémentent le profil de jeton Kerberos à partir d'OASIS.This mode is interoperable with SOAP stacks that implement the Kerberos token profile from 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.Setting this property to true causes a SOAP negotiation that tunnels SPNego exchange over SOAP messages. Ce mode n'est pas interopérable.This mode is not interoperable.

Cette propriété indique si les informations d'identification du service sont négociées automatiquement entre le client et le service.This property indicates whether the service credential is negotiated automatically between the client and the service. Si cette propriété a la valeur true, une négociation de ce type a lieu.If this property is true, then such negotiation occurs. 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.If this property is false, then the service credentials must be specified at the client before communication with the service can occur.

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).If this property is set to false, and the binding is configured to use Windows as a client credential type, the service account must be associated with a Service Principal Name (SPN). Pour ce faire, exécutez le service sous le compte SERVICE RÉSEAU ou SYSTÈME LOCAL.To do this, run the service under the NETWORK SERVICE account, or LOCAL SYSTEM account. Utilisez également l'outil SetSpn.exe pour créer un SPN pour le compte de service.Alternatively, use the SetSpn.exe tool to create an SPN for the service account. Dans les deux cas, le client doit utiliser le SPN correct dans <l'> élément servicePrincipalName , ou à l' EndpointAddress aide du constructeur.In either case, the client must use the correct SPN in the <servicePrincipalName> element, or by using the EndpointAddress constructor. Pour plus d’informations, consultez identité du service et authentification.For more information, see Service Identity and Authentication.

S’applique à