Compartilhar via


ClientCredentials Classe

Definição

Permite que o usuário configure o cliente e credenciais de serviço, bem como configurações de autenticação de credenciais de serviço para uso no lado do cliente de comunicação.

public ref class ClientCredentials : System::ServiceModel::Description::IEndpointBehavior
public ref class ClientCredentials : System::ServiceModel::Security::SecurityCredentialsManager, System::ServiceModel::Description::IEndpointBehavior
public class ClientCredentials : System.ServiceModel.Description.IEndpointBehavior
public class ClientCredentials : System.ServiceModel.Security.SecurityCredentialsManager, System.ServiceModel.Description.IEndpointBehavior
type ClientCredentials = class
    interface IEndpointBehavior
type ClientCredentials = class
    inherit SecurityCredentialsManager
    interface IEndpointBehavior
Public Class ClientCredentials
Implements IEndpointBehavior
Public Class ClientCredentials
Inherits SecurityCredentialsManager
Implements IEndpointBehavior
Herança
ClientCredentials
Herança
Derivado
Implementações

Exemplos

O exemplo de código a seguir mostra como substituir essa classe e implementar suas próprias credenciais de cliente personalizadas que incluem um gerenciador de tokens de segurança personalizado.

Importante

É importante observar que o CreateSecurityTokenManager método é substituído para criar um gerenciador de tokens de segurança personalizado. O gerenciador de tokens de segurança, derivado de ClientCredentialsSecurityTokenManager. deve retornar um provedor de token de segurança personalizado, derivado de SecurityTokenProvider, para criar o token de segurança real. Se você não seguir esse padrão para criar tokens de segurança, seu aplicativo estará em risco de ataques de segurança, especificamente elevação de privilégios. Esse padrão de codificação garante que as credenciais corretas sejam usadas quando as fábricas de canais são armazenadas em cache.

public class MyClientCredentials : ClientCredentials
{
    string creditCardNumber;

    public MyClientCredentials()
    {
        // Perform client credentials initialization.
    }

    protected MyClientCredentials(MyClientCredentials other)
        : base(other)
    {
        // Clone fields defined in this class.
        this.creditCardNumber = other.creditCardNumber;
    }

    public string CreditCardNumber
    {
        get
        {
            return this.creditCardNumber;
        }
        set
        {
            if (value == null)
            {
                throw new ArgumentNullException("value");
            }
            this.creditCardNumber = value;
        }
    }

    public override SecurityTokenManager CreateSecurityTokenManager()
    {
        // Return your implementation of the SecurityTokenManager.
        return new MyClientCredentialsSecurityTokenManager(this);
    }

    protected override ClientCredentials CloneCore()
    {
        // Implement the cloning functionality.
        return new MyClientCredentials(this);
    }
}
Public Class MyClientCredentials
    Inherits ClientCredentials
    Private creditCardNumberValue As String

    Public Sub New() 
    
    End Sub
    
    ' Perform client credentials initialization.    
    Protected Sub New(ByVal other As MyClientCredentials) 
        MyBase.New(other)
        ' Clone fields defined in this class.
        Me.creditCardNumberValue = other.creditCardNumberValue
    
    End Sub

    Public Property CreditCardNumber() As String 
        Get
            Return Me.creditCardNumberValue
        End Get
        Set
            If value Is Nothing Then
                Throw New ArgumentNullException("value")
            End If
            Me.creditCardNumberValue = value
        End Set
    End Property

    Public Overrides Function CreateSecurityTokenManager() As SecurityTokenManager 
        ' Return your implementation of the SecurityTokenManager.
        Return New MyClientCredentialsSecurityTokenManager(Me)
    
    End Function
    
    Protected Overrides Function CloneCore() As ClientCredentials 
        ' Implement the cloning functionality.
        Return New MyClientCredentials(Me)
    
    End Function
End Class

Comentários

O ClientCredentials é acessado por meio da ClientCredentials propriedade da ClientBase<TChannel> classe.

Um ClientCredentials objeto é adicionado à Behaviors coleção. A ClientCredentials propriedade é uma Facade (um padrão de design bem conhecido) sobre uma entrada nessa coleção. Muitas propriedades nessa classe retornam objetos que consistem principalmente em propriedades. Esses objetos podem ser usados para configuração: depois que o get objeto for usado, você poderá usá-lo para set propriedades chamando seus membros.

Construtores

ClientCredentials()

Inicializa uma nova instância da classe ClientCredentials.

ClientCredentials(ClientCredentials)

Esse é um construtor de cópia.

Propriedades

ClientCertificate

Obtém um objeto que pode ser usado para fornecer o certificado X.509 usado pelo cliente para se autenticar no serviço.

HttpDigest

Obtém a credencial de Resumo HTTP.

IssuedToken

Use essa propriedade para especificar a associação e o endereço do ponto de extremidade a serem usados ao entrar em contato com o serviço de token de segurança local. Essas informações são usadas quando um serviço requer autenticação usando um token emitido, mas a política do serviço (representada como uma associação no cliente) não especifica explicitamente como e onde obter o token emitido.

Peer

Controla as credenciais que um nó par usa para se autenticar em outros nós da malha, bem como configurações de autenticação que um nó par usa para autenticar outros nós pares.

SecurityTokenHandlerCollectionManager

Obtém ou define o manipulador de token de segurança para a credencial do cliente.

ServiceCertificate

Obtém um objeto usado para especificar o certificado X.509 de um serviço.

SupportInteractive

Obtém ou define um valor que indica se o sistema tem permissão para solicitar credenciais interativamente ao usuário quando necessário. Por exemplo, a definição false pode ser desejável em cenários de camada intermediária.

UseIdentityConfiguration

Obtém ou define se as credenciais do cliente usa a configuração de identidade.

UserName

Obtém um objeto de credencial que pode ser usado para definir o nome de usuário e a senha usados pelo cliente para se autenticar no serviço.

Windows

Obtém um objeto usado para controlar a credencial do Windows que o cliente usa para se autenticar no serviço.

Métodos

ApplyClientBehavior(ServiceEndpoint, ClientRuntime)

Aplica o comportamento do cliente especificado ao ponto de extremidade.

Clone()

Cria uma nova cópia dessa instância de ClientCredentials.

CloneCore()

Cria uma nova cópia dessa instância de ClientCredentials.

CreateSecurityTokenManager()

Cria um gerenciador de token de segurança para essa instância. Este método é raramente chamado explicitamente; ele é usado principalmente em cenários de extensibilidade e é chamado pelo próprio sistema.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetInfoCardSecurityToken(Boolean, CardSpacePolicyElement[], SecurityTokenSerializer)

Gera e retorna um token de segurança usando o sistema CardSpace e o serializador de token e cadeia de políticas especificados.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Implantações explícitas de interface

IEndpointBehavior.AddBindingParameters(ServiceEndpoint, BindingParameterCollection)

Adiciona essa instância dessa classe a uma coleção de parâmetros de associação.

IEndpointBehavior.ApplyDispatchBehavior(ServiceEndpoint, EndpointDispatcher)

Implementa uma modificação ou extensão do serviço em um ponto de extremidade.

IEndpointBehavior.Validate(ServiceEndpoint)

Reservado para uso futuro.

Aplica-se a