MessageSecurityOverHttp.NegotiateServiceCredential Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob die Dienstanmeldeinformationen für den Client außerhalb des Bandes bereitgestellt werden oder über einen Prozess der Aushandlung vom Dienst abgerufen werden.
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
Eigenschaftswert
truewenn Dienstanmeldeinformationen über einen Prozess der Aushandlung abgerufen werden; andernfalls . false Der Standardwert lautet true.
Beispiele
Der folgende Code zeigt, wie Auf diese Eigenschaft zugegriffen und festgelegt wird.
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)
Hinweise
Wenn Sie diese Eigenschaft auf festlegen true, müssen WS-Trust und WS-SecureConversation vom Client und dem Dienst unterstützt werden. Wenn Sie diese Eigenschaft festlegen, false muss WS-Trust oder WS-SecureConversation nicht unterstützt werden.
Legen Sie für Anmeldeinformationstypen für anonyme, Benutzername oder Zertifikat-Clientanmeldeinformationen fest false , dass das Dienstzertifikat für den Client außerhalb des Bandes verfügbar sein muss und dass der Client das zu verwendende Zertifikat des Diensts angeben muss.
Bei Windows Anmeldeinformationen bewirkt das Festlegen dieser Eigenschaft auf false eine Authentifizierung basierend auf KerberosToken. Dazu muss der Client und der Dienst Teil einer Kerberos-Domäne sein. Dieser Modus ist mit SOAP-Stapeln kompatibel, die das Kerberos-Tokenprofil von OASIS implementieren. Durch Festlegen dieser Eigenschaft wird true eine SOAP-Aushandlung verursacht, die SPNego über SOAP-Nachrichten übergibt. Dieser Modus ist nicht interoperabel.
Diese Eigenschaft gibt an, ob die Dienstanmeldeinformationen automatisch zwischen dem Client und dem Dienst ausgehandelt werden. Wenn diese Eigenschaft lautet true, tritt eine solche Aushandlung auf. Wenn diese Eigenschaft lautet false, müssen die Dienstanmeldeinformationen auf dem Client angegeben werden, bevor die Kommunikation mit dem Dienst erfolgen kann.
Wenn diese Eigenschaft auf false" festgelegt ist und die Bindung für die Verwendung von Windows als Clientanmeldeinformationstyp konfiguriert ist, muss das Dienstkonto einem Dienstprinzipalnamen (Service Principal Name, SPN) zugeordnet sein. Führen Sie dazu den Dienst unter dem NETZWERKDIENSTkonto oder dem LOKALEN SYSTEMkonto aus. Verwenden Sie andernfalls das Tool SetSpn.exe, um einen Dienstprinzipalnamen für das Dienstkonto zu erstellen. Der Client muss in beiden Fällen entweder den korrekten