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
Cree una instancia del enlace que el servicio va a usar. En el ejemplo siguiente se utiliza el enlace WSHttpBinding.
Establezca la propiedad Mode en un valor apropiado. Este ejemplo utiliza el modo de mensaje.
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
Agregue un elemento <system.serviceModel> al archivo de configuración.
Como elemento secundario, agregue un elemento <enlaces>.
Agregue un enlace adecuado. En este ejemplo se usa el elemento <wsHttpBinding>.
Agregue un elemento de <enlace>y establezca un valor apropiado para el atributo
name
. Este ejemplo utiliza el nombre "SecureBinding".Agregue un enlace
<security>
. Establezca el atributomode
en un valor adecuado. Este ejemplo lo define en"Message"
.Agregue un elemento
<message>
, tal y como se haya determinado en el modo de seguridad. Establezca el atributoclientCredentialType
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>