MessageSecurityOverHttp.NegotiateServiceCredential Свойство

Определение

Возвращает или задает значение, указывающее, предоставляются учетные данные службы клиенту по внештатному каналу, или же клиент получает их от службы в процессе согласования.

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

Значение свойства

Boolean

Значение true, если учетные данные службы предоставляются клиенту в процессе согласования; в противном случае — значение false. Значение по умолчанию — true.

Примеры

В следующем примере кода показано, как получить доступ к этому свойству и задать его.

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)

Комментарии

Для присвоения этому свойству значения true необходимо, чтобы клиент и служба поддерживали протоколы WS-Trust и WS-SecureConversation. Для присвоения этому свойству значения false поддержка WS-Trust или WS-SecureConversation не требуется.

В случае учетных данных клиента типа Anonymous, Username или Certificate присвоение этому свойству значения false подразумевает, что сертификат службы должен быть доступен на клиенте по внештатному каналу, и что клиент должен указывать сертификат службы, который требуется использовать.

В случае учетных данных Windows при присвоении этому свойству значения false проверка подлинности будет основана на KerberosToken. При этом требуется, чтобы и клиент, и служба входили в домен Kerberos. Данный режим совместим со стеками SOAP, которые реализуют профиль маркеров Kerberos, разработанный OASIS. При присвоении этому свойству значения true используется согласование SOAP, при котором обмен SPNego производится при помощи сообщений SOAP. Этот режим не поддерживает взаимодействие.

Это свойство указывает, выполняется ли согласование учетных данных службы между клиентом и службой автоматически. Если этому свойству присвоено значение true, такое согласование выполняется. Если этому свойству присвоено значение false, то перед взаимодействием со службой необходимо указать на стороне клиента учетные данные службы.

Если этому свойству присвоено значение false, а привязка настроена на использование в качестве учетных данных клиента учетных данных Windows, учетную запись службы необходимо связать с именем субъекта-службы (SPN). Для этого запустите службу от имени учетной записи NETWORK SERVICE или LOCAL SYSTEM. Для создания для учетной записи службы имени участника-службы также можно воспользоваться средством SetSpn.exe. В любом случае клиент должен использовать правильное имя субъекта-службы в элементе <servicePrincipalName> или с помощью конструктора EndpointAddress . Дополнительные сведения см. в разделе "Удостоверение службы и проверка подлинности".

Применяется к