Udostępnij za pośrednictwem


MessageSecurityOverHttp.NegotiateServiceCredential Właściwość

Definicja

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 truewartość , 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 falsewartość , 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.

Dotyczy