MessageSecurityOverHttp.NegotiateServiceCredential Eigenschap

Definitie

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de servicereferentie is ingericht op de client buiten band of wordt verkregen van de service via een onderhandelingsproces.

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

Waarde van eigenschap

true als servicereferenties worden verkregen via een onderhandelingsproces; anders, false. De standaardwaarde is true.

Voorbeelden

De volgende code laat zien hoe u deze eigenschap kunt openen en instellen.

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)

Opmerkingen

Als u deze eigenschap trueinstelt op, moet WS-Trust en WS-SecureConversation worden ondersteund door de client en de service. Als u deze eigenschap instelt, false hoeft u geen WS-Trust of WS-SecureConversation te ondersteunen.

Voor anonieme, gebruikersnaam- of certificaatclientreferentietypen moet u deze eigenschap false zo instellen dat het servicecertificaat buiten band beschikbaar moet zijn op de client en dat de client het certificaat van de service moet opgeven dat moet worden gebruikt.

In het geval van Windows referenties, stelt u deze eigenschap in op false veroorzaakt een verificatie op basis van KerberosToken. Hiervoor moeten de client en service deel uitmaken van een Kerberos-domein. Deze modus is compatibel met SOAP-stacks die het Kerberos-tokenprofiel van OASIS implementeren. Als u deze eigenschap instelt om een SOAP-onderhandeling te true veroorzaken die SPNego via SOAP-berichten door tunnelt. Deze modus is niet interoperabel.

Deze eigenschap geeft aan of de servicereferentie automatisch wordt onderhandeld tussen de client en de service. Als deze eigenschap is true, vindt dergelijke onderhandeling plaats. Als deze eigenschap is false, moeten de servicereferenties worden opgegeven bij de client voordat communicatie met de service kan plaatsvinden.

Als deze eigenschap is ingesteld op false en de binding is geconfigureerd voor het gebruik van Windows als clientreferentietype, moet het serviceaccount worden gekoppeld aan een Service Principal Name (SPN). Hiervoor voert u de service uit onder het NETWORK SERVICE-account of het LOKALE SYSTEEM-account. U kunt ook het hulpprogramma SetSpn.exe gebruiken om een SPN voor het serviceaccount te maken. In beide gevallen moet de client de juiste SPN gebruiken in het <element servicePrincipalName> of met behulp van de EndpointAddress constructor. Zie Service-identiteit en -verificatie voor meer informatie.

Van toepassing op