Como: Especificar o tipo de credencial do cliente
Depois de definir um modo de segurança (transporte ou mensagem), você 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 obter mais informações sobre como definir o modo de segurança (uma etapa necessária antes de definir o tipo de credencial do cliente), consulte Como definir o modo de segurança.
Para definir o tipo de credencial do cliente no código
Crie uma instância da associação que o serviço usará. Este exemplo usa a WSHttpBinding vinculação.
Defina a Mode propriedade como um valor apropriado. Este exemplo usa o modo Mensagem.
Defina a ClientCredentialType propriedade como um valor apropriado. Este exemplo o define para usar a autenticação do 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 na configuração
Adicione um <elemento system.serviceModel> ao arquivo de configuração.
Como um elemento filho, adicione um elemento bindings>.<
Adicione uma ligação apropriada. Este exemplo usa o <elemento wsHttpBinding> .
Adicione um <elemento binding> e defina o
name
atributo como um valor apropriado. Este exemplo usa o nome "SecureBinding".Adicione uma
<security>
ligação. Defina omode
atributo como um valor apropriado. Este exemplo o define como"Message"
.Adicione um
<message>
elemento ou<transport>
, conforme determinado pelo modo de segurança. Defina oclientCredentialType
atributo como 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>