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.
Ruft einen Wert ab oder legt einen Wert fest, der angibt, ob die Dienstanmeldeinformationen auf dem Client außerhalb des Bereichs bereitgestellt oder vom Dienst über einen Aushandlungsvorgang 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
true
, wenn die Dienstanmeldeinformationen über einen Aushandlungsvorgang abgerufen werden, andernfalls false
. Der Standardwert ist true
.
Beispiele
Der folgende Code zeigt, wie diese Eigenschaft aufgerufen 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
Für das Festlegen dieser Eigenschaft auf true
müssen WS-Vertrauenswürdigkeit und WS-SecureConversation vom Client und vom Dienst unterstützt werden. Für das Festlegen dieser Eigenschaft auf false
muss keine WS-Vertrauenswürdigkeit oder WS-SecureConversation unterstützt werden.
Für Clientanmeldeinformationen des Typs Anonym, Benutzername oder Zertifikat impliziert das Festlegen dieser Eigenschaft auf false
, dass das Dienstzertifikat beim Client außerhalb des Bereichs verfügbar sein und der Client das zu verwendende Dienstzertifikat angeben muss.
Wenn diese Eigenschaft durch Windows-Anmeldeinformationen auf false
festgelegt wird, wird eine Authentifizierung ausgelöst, die auf KerberosToken
basiert. Dies erfordert, dass der Client und der Dienst ein Teil einer Kerberos-Domäne sind. Dieser Modus ist mit SOAP-Stapeln interoperabel, die Kerberos-Tokenprofile von OASIS implementieren. Durch das Festlegen dieser Eigenschaft auf true
wird eine SOAP-Aushandlung verursacht, die den SPNego-Austausch über SOAP-Meldungen tunnelt. Dieser Modus ist nicht interoperabel.
Diese Eigenschaft gibt an, ob die Dienstanmeldeinformationen automatisch zwischen dem Client und dem Dienst ausgehandelt werden. Wenn diese Eigenschaft true
ist, dann tritt eine solche Aushandlung auf. Wenn diese Eigenschaft false
ist, müssen die Dienstanmeldeinformationen auf dem Client vor der Kommunikation mit dem Dienst angegeben werden.
Wenn diese Eigenschaft auf false
festgelegt ist und die Bindung zum Verwenden von Windows als Clientanmeldeinformations-Typ konfiguriert ist, muss das Dienstkonto einem SPN (Service Principal Name) zugeordnet werden. Führen Sie zu diesem Zweck den Dienst unter dem Konto NETZWERKDIENST oder dem Konto LOKALES SYSTEM aus. Verwenden Sie andernfalls das Tool SetSpn.exe, um einen Dienstprinzipalnamen für das Dienstkonto zu erstellen. In beiden Fällen muss der Client den richtigen SPN im ServicePrincipalName-Element> oder mithilfe des< EndpointAddress Konstruktors verwenden. Weitere Informationen finden Sie unter Dienstidentität und Authentifizierung.