MessageSecurityOverHttp.NegotiateServiceCredential Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera lub ustawia wartość wskazującą, czy poświadczenie usługi jest aprowidowane na kliencie poza pasmem, czy jest uzyskiwane z usługi przez proces negocjacji.
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
Wartość właściwości
true
jeśli poświadczenia usługi są uzyskiwane przez proces negocjacji; w przeciwnym razie , false
. Wartość domyślna to true
.
Przykłady
Poniższy kod pokazuje, jak uzyskać dostęp do tej właściwości i ustawić tę właściwość.
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)
Uwagi
Ustawienie tej właściwości na true
, wymaga obsługi WS-Trust i WS-SecureConversation przez klienta i usługę. Ustawienie tej właściwości false
na nie wymaga obsługi WS-Trust ani WS-SecureConversation.
W przypadku typów poświadczeń klienta Anonimowe, Nazwa użytkownika lub Certyfikat, ustawienie tej właściwości false
oznacza, że certyfikat usługi musi być dostępny na kliencie poza pasmem i że klient musi określić certyfikat usługi do użycia.
W przypadku poświadczeń systemu Windows ustawienie tej właściwości powoduje false
uwierzytelnianie na podstawie .KerberosToken
Wymaga to, aby klient i usługa należały do domeny protokołu Kerberos. Ten tryb jest współdziałający ze stosami PROTOKOŁU SOAP, które implementują profil tokenu Protokołu Kerberos z systemu OASIS. Ustawienie tej właściwości powoduje true
negocjacje protokołu SOAP, które tuneluje wymianę SPNego za pośrednictwem komunikatów PROTOKOŁU SOAP. Ten tryb nie jest możliwy do współdziałania.
Ta właściwość wskazuje, czy poświadczenia usługi są negocjowane automatycznie między klientem a usługą. Jeśli ta właściwość ma true
wartość , takie negocjacje występują. Jeśli ta właściwość to false
, poświadczenia usługi muszą zostać określone na kliencie przed nawiązaniem komunikacji z usługą.
Jeśli ta właściwość jest ustawiona na false
wartość , a powiązanie jest skonfigurowane do używania systemu Windows jako typu poświadczeń klienta, konto usługi musi być skojarzone z główną nazwą usługi (SPN). W tym celu uruchom usługę na koncie USŁUGI SIECIOWEJ lub lokalnym koncie SYSTEMowym. Alternatywnie użyj narzędzia SetSpn.exe, aby utworzyć nazwę SPN dla konta usługi. W obu przypadkach klient musi użyć poprawnej nazwy SPN w <elemecie servicePrincipalName> lub przy użyciu konstruktora EndpointAddress . Aby uzyskać więcej informacji, zobacz Tożsamość usługi i uwierzytelnianie.