MessageSecurityOverHttp.NegotiateServiceCredential Propriedade
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Obtém ou define um valor que indica se a credencial de serviço é fornecida no cliente fora de banda ou obtida através de um processo de negociação.
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
Valor de Propriedade
true se a credencial de serviço for obtida através de um processo de negociação; caso contrário, false. A predefinição é true.
Exemplos
O código seguinte mostra como aceder e definir esta propriedade.
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)
Observações
Definir esta propriedade como true, requer que WS-Trust e WS-SecureConversation sejam suportados pelo cliente e pelo serviço. Definir esta propriedade como false não requer que WS-Trust ou WS-SecureConversation seja suportado.
Para tipos de credenciais de cliente Anónimo, Nome de Utilizador ou Certificado, definir esta propriedade implica false que o certificado de serviço deve estar disponível no cliente fora de banda e que o cliente deve especificar o certificado do serviço a utilizar.
No caso de credenciais Windows, definir esta propriedade para false causa uma autenticação baseada em KerberosToken. Isto exige que o cliente e o serviço façam parte de um domínio Kerberos. Este modo é interoperável com stacks SOAP que implementam o perfil de token Kerberos do OASIS. Definir esta propriedade para true causar uma negociação SOAP que tunela a troca SPNego sobre mensagens SOAP. Este modo não é interoperável.
Esta propriedade indica se a credencial de serviço é negociada automaticamente entre o cliente e o serviço. Se esta propriedade for true, então tal negociação ocorre. Se esta propriedade for false, então as credenciais do serviço devem ser especificadas no cliente antes que a comunicação com o serviço possa ocorrer.
Se esta propriedade estiver definida para false, e a ligação estiver configurada para usar Windows como tipo de credencial de cliente, a conta de serviço deve estar associada a um Nome Principal de Serviço (SPN). Para isso, execute o serviço sob a conta SERVIÇO DE REDE, ou conta SISTEMA LOCAL. Como alternativa, use a ferramenta SetSpn.exe para criar um SPN para a conta de serviço. Em ambos os casos, o cliente deve usar o SPN correto no <elemento servicePrincipalName> ou usando o EndpointAddress construtor. Para obter mais informações, consulte Identidade e autenticação do serviço.