Partilhar via


Como: Especificar o Tipo de Credencial do Cliente

Depois de definir um modo de segurança (transporte ou mensagem), tem a opção de definir o tipo de credencial do cliente. Esta propriedade especifica que tipo de credencial o cliente deve fornecer ao serviço para autenticação. Para mais informações sobre a definição do modo de segurança (um passo necessário antes de definir o tipo de credencial do cliente), veja Como: Definir o Modo de Segurança.

Para definir o tipo de credencial do cliente em código

  1. Crie uma instância do binding que o serviço irá usar. Este exemplo usa a WSHttpBinding ligação.

  2. Defina a Mode propriedade para um valor apropriado. Este exemplo utiliza o modo Mensagem.

  3. Defina a ClientCredentialType propriedade para um valor apropriado. Este exemplo configura para usar autenticação Windows (Windows).

    ServiceHost myServiceHost = new ServiceHost(typeof(CalculatorService));
    // Create a binding to use.
    WSHttpBinding binding = new WSHttpBinding();
    binding.Security.Mode = SecurityMode.Message;
    binding.Security.Message.ClientCredentialType =
        MessageCredentialType.Windows;
    
    Dim myServiceHost As New ServiceHost(GetType(CalculatorService))
    ' Create a binding to use.
    Dim binding As New WSHttpBinding()
    binding.Security.Mode = SecurityMode.Message
    binding.Security.Message.ClientCredentialType = _
    MessageCredentialType.Windows
    

Para definir o tipo de credencial do cliente em configuração

  1. Adicione um <elemento system.serviceModel> ao ficheiro de configuração.

  2. Como elemento filho, adiciona um <elemento de ligações> .

  3. Adicione uma vinculação adequada. Este exemplo utiliza o <elemento wsHttpBinding> .

  4. Adicione um <elemento de ligação> e defina o name atributo para um valor apropriado. Este exemplo utiliza o nome "SecureBinding".

  5. Adiciona uma <security> ligação. Defina o mode atributo para um valor apropriado. Este exemplo define-a para "Message".

  6. Adicione um elemento <message> ou <transport>, conforme determinado pelo modo de segurança. Defina o clientCredentialType atributo para um valor apropriado. Este exemplo utiliza "Windows".

    <system.serviceModel>
      <bindings>
        <wsHttpBinding>
          <binding name="SecureBinding">
            <security mode="Message">
                 <message clientCredentialType="Windows" />
             </security>
          </binding>
        </wsHttpBinding>
      </bindings>
    </system.serviceModel>
    

Consulte também