Autenticação customizada de WCF – Parte III

Olá pessoal,

Esta é a última parte da série de autenticação customizada com WCF e hoje iremos ver como o cliente fornece as informações das credenciais para o serviço.

O primeiro passo é começar com uma aplicação que contém um proxy gerado para o serviço, em seguida configurá-la para utilizar autenticação do tipo UserName e também para validar o serviço através de um certificado, conforme abaixo:

    1:  <configuration>
    2:      <system.serviceModel>
    3:          <bindings>
    4:              <wsHttpBinding>
    5:                  <binding ...>
    6:                      <security mode="Message">
    7:                          <message clientCredentialType="UserName"/>
    8:                      </security>
    9:                  </binding>
   10:              </wsHttpBinding>
   11:          </bindings>
   12:          ...
   13:          <behaviors>
   14:              <endpointBehaviors>
   15:                  <behavior name="ClientCertificateBehaviour">
   16:                      <clientCredentials>
   17:                        <serviceCertificate>
   18:                          <authentication
   19:                              certificateValidationMode="PeerOrChainTrust"/>
   20:                        </serviceCertificate>
   21:                      </clientCredentials>
   22:                  </behavior>
   23:              </endpointBehaviors>
   24:          </behaviors>
   25:      </system.serviceModel>
   26:  </configuration>

Em seguida, é necessário que a aplicação informe ao serviço a credencial utilizada na autenticação:

    1:  CalculatorServiceReference.CalculatorClient proxy = new CalculatorServiceReference.CalculatorClient();
    2:   
    3:  proxy.ClientCredentials.UserName.UserName = "administrator";
    4:  proxy.ClientCredentials.UserName.Password = "P@ssw0rd";
    5:   
    6:  double n = proxy.Add(1, 2);

O download do código fonte gerado na série pode ser realizado aqui

Posts da série: