Sdílet prostřednictvím


MessageSecurityOverHttp.NegotiateServiceCredential Vlastnost

Definice

Získá nebo nastaví hodnotu, která označuje, zda je přihlašovací údaje služby zřízeny v klientovi mimo pásmo nebo je získán ze služby prostřednictvím procesu vyjednávání.

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

Hodnota vlastnosti

Boolean

true je-li přihlašovací údaje služby získány prostřednictvím procesu vyjednávání; falsev opačném případě . Výchozí formát je true.

Příklady

Následující kód ukazuje, jak získat přístup k této vlastnosti a nastavit ji.

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)

Poznámky

Nastavení této vlastnosti na true, vyžaduje, aby klient a služba WS-Trust a WS-SecureConversation. Nastavení této vlastnosti false nevyžaduje podporu WS-Trust ani WS-SecureConversation.

Pro anonymní typy přihlašovacích údajů klienta, uživatelské jméno nebo certifikát, nastavení této vlastnosti false znamená, že certifikát služby musí být k dispozici v klientovi mimo pásmo a že klient musí zadat certifikát služby, který se má použít.

V případě Windows přihlašovacích údajů nastavte tuto vlastnost tak, aby false způsobila ověřování na KerberosTokenzákladě . To vyžaduje, aby klient a služba byly součástí domény Kerberos. Tento režim je interoperabilní se zásobníky SOAP, které implementují profil tokenu Kerberos z OASIS. Nastavením této vlastnosti způsobíte true vyjednávání protokolu SOAP, které tuneluje výměnu SPNego přes zprávy SOAP. Tento režim není interoperabilní.

Tato vlastnost označuje, zda se přihlašovací údaje služby vyjednávají automaticky mezi klientem a službou. Pokud je truetato vlastnost , dojde k takovému vyjednávání. Pokud je falsetato vlastnost , musí být přihlašovací údaje služby zadány v klientovi před komunikací se službou.

Pokud je tato vlastnost nastavená na falsehodnotu a vazba je nakonfigurovaná tak, aby používala Windows jako typ přihlašovacích údajů klienta, musí být účet služby přidružený k hlavnímu názvu služby (SPN). Provedete to tak, že službu spustíte pod účtem NETWORK SERVICE nebo účtem LOCAL SYSTEM. Případně pomocí nástroje SetSpn.exe vytvořte hlavní název služby (SPN) pro účet služby. V obou případech musí klient použít správný hlavní název služby (SPN) v elementu <servicePrincipalName> nebo pomocí konstruktoru EndpointAddress . Další informace najdete v tématu Identita a ověřování služby.

Platí pro