Procedimiento para especificar el tipo de credencial de cliente

Después de establecer un modo de seguridad (ya sea transporte o mensaje), tiene la opción de establecer el tipo de credencial de cliente. Esta propiedad especifica qué tipo de credencial debe proporcionar el cliente al servicio para la autenticación. Para obtener más información sobre el procedimiento para establecer el modo de seguridad (un paso necesario antes de establecer el tipo de credencial de cliente), consulte Procedimiento para establecer el modo de seguridad.

Para establecer el tipo de credencial de cliente en el código

  1. Cree una instancia del enlace que el servicio va a usar. En el ejemplo siguiente se utiliza el enlace WSHttpBinding.

  2. Establezca la propiedad Mode en un valor apropiado. Este ejemplo utiliza el modo de mensaje.

  3. Establezca la propiedad ClientCredentialType en un valor apropiado. Este ejemplo establece el uso de la autenticación de 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 establecer el tipo de credencial en la configuración

  1. Agregue un elemento <system.serviceModel> al archivo de configuración.

  2. Como elemento secundario, agregue un elemento <enlaces>.

  3. Agregue un enlace adecuado. En este ejemplo se usa el elemento <wsHttpBinding>.

  4. Agregue un elemento de <enlace>y establezca un valor apropiado para el atributo name. Este ejemplo utiliza el nombre "SecureBinding".

  5. Agregue un enlace <security>. Establezca el atributo mode en un valor adecuado. Este ejemplo lo define en "Message".

  6. Agregue un elemento <message>, tal y como se haya determinado en el modo de seguridad. Establezca el atributo clientCredentialType en un valor adecuado. En este ejemplo se usa "Windows".

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

Consulte también