Compartilhar via


estrutura WS_USERNAME_MESSAGE_SECURITY_BINDING (webservices.h)

O subtipo de associação de segurança para especificar o uso de um par de nome de usuário/senha fornecido pelo aplicativo como um token de segurança direto (ou seja, com uma captura). Essa associação de segurança só pode ser usada com a segurança da mensagem. Ele fornece autenticação de cliente, mas não assinatura de tráfego ou criptografia. Portanto, ele é usado em conjunto com outra segurança de transporte ou associação de segurança de mensagem que fornece proteção de mensagens.

Somente uma instância dessa associação pode estar presente em uma descrição de segurança. Não há suporte para essa associação de segurança com o WS_NAMEDPIPE_CHANNEL_BINDING.

Com essa associação de segurança, nenhuma propriedade de associação de segurança pode ser especificada.

Sintaxe

typedef struct _WS_USERNAME_MESSAGE_SECURITY_BINDING {
  WS_SECURITY_BINDING           binding;
  WS_MESSAGE_SECURITY_USAGE     bindingUsage;
  WS_USERNAME_CREDENTIAL        *clientCredential;
  WS_VALIDATE_PASSWORD_CALLBACK passwordValidator;
  void                          *passwordValidatorCallbackState;
} WS_USERNAME_MESSAGE_SECURITY_BINDING;

Membros

binding

O tipo base do qual esse subtipo de associação de segurança e todos os outros subtipos de associação de segurança derivam.

bindingUsage

Como o token de segurança correspondente a essa associação de segurança deve ser associado a uma mensagem.

Há suporte apenas para WS_SUPPORTING_MESSAGE_SECURITY_USAGE . Com esse uso, essa associação de segurança fornece autenticação de cliente, mas não proteção de mensagens (como assinatura, criptografia, detecção de reprodução). Portanto, essa associação deve ser usada junto com outra associação de segurança, como a WS_SSL_TRANSPORT_SECURITY_BINDING que fornece um canal protegido.

Para usar essa associação em HTTP sem SSL, a propriedade de descrição de segurança WS_SECURITY_PROPERTY_TRANSPORT_PROTECTION_LEVEL deve ser definida explicitamente como WS_PROTECTION_LEVEL_NONE. Não há suporte para isso no cliente ou no TCP.

clientCredential

A credencial de nome de usuário a ser usada com essa associação de segurança. Isso deve ser especificado quando essa associação de segurança é usada no cliente.

passwordValidator

O validador a ser usado para marcar pares de nome de usuário/senha recebidos. Isso deve ser especificado quando essa associação de segurança é usada no serviço.

passwordValidatorCallbackState

O estado opcional a ser passado como um argumento quando o validador de nome de usuário é invocado.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 7 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 R2 [somente aplicativos da área de trabalho]
Cabeçalho webservices.h