MessageSecurityOverHttp.NegotiateServiceCredential Özellik

Tanım

Hizmet kimlik bilgilerinin istemcide bant dışında sağlanıp sağlanmadığını veya bir anlaşma işlemi aracılığıyla hizmetten alınıp alınmadığını belirten bir değer alır veya ayarlar.

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

Özellik Değeri

Boolean

true hizmet kimlik bilgileri bir anlaşma süreci aracılığıyla elde edilirse; aksi takdirde , false. Varsayılan değer: true.

Örnekler

Aşağıdaki kodda bu özelliğe nasıl erişilip ayarlanacağı gösterilmektedir.

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)

Açıklamalar

Bu özelliği olarak trueayarlamak için istemci ve hizmet tarafından WS-Trust ve WS-SecureConversation desteklenmesi gerekir. Bu özelliği olarak false ayarlamak için WS-Trust veya WS-SecureConversation desteklenmesi gerekmez.

Anonim, Kullanıcı Adı veya Sertifika istemcisi kimlik bilgileri türleri için bu özelliğin olarak false ayarlanması, hizmet sertifikasının bant dışı istemcide kullanılabilir olması ve istemcinin kullanılacak hizmetin sertifikasını belirtmesi gerektiği anlamına gelir.

Windows kimlik bilgileri söz konusu olduğunda, bu özelliğin olarak ayarlanması tabanlı KerberosTokenbir kimlik doğrulamasına false neden olur. Bunun için istemcinin ve hizmetin bir Kerberos etki alanının parçası olması gerekir. Bu mod, OASIS'ten Kerberos belirteç profilini uygulayan SOAP yığınlarıyla birlikte çalışabilir. Bu özelliğin olarak true ayarlanması, SOAP iletileri üzerinden SPNego alışverişine tünel oluşturan bir SOAP anlaşmasına neden olur. Bu mod birlikte çalışamaz.

Bu özellik, hizmet kimlik bilgilerinin istemci ile hizmet arasında otomatik olarak anlaşılıp anlaşılmadığını gösterir. Bu özellik ise, truebu tür bir anlaşma gerçekleşir. Bu özellik ise false, hizmetle iletişimin gerçekleşebilmesi için önce istemcide hizmet kimlik bilgilerinin belirtilmesi gerekir.

Bu özellik olarak falseayarlanırsa ve bağlama Windows istemci kimlik bilgisi türü olarak kullanacak şekilde yapılandırılmışsa, hizmet hesabının bir Hizmet Asıl Adı (SPN) ile ilişkilendirilmesi gerekir. Bunu yapmak için, hizmeti AĞ HİzMETİ hesabı veya YEREL SİSTEM hesabı altında çalıştırın. Alternatif olarak, hizmet hesabı için spn oluşturmak için SetSpn.exe aracını kullanın. Her iki durumda da istemcinin servicePrincipalName> öğesinde< veya oluşturucuyu kullanarak doğru SPN'yi EndpointAddress kullanması gerekir. Daha fazla bilgi için bkz . Hizmet Kimliği ve Kimlik Doğrulaması.

Şunlara uygulanır