ClientCredentials Classe

Definição

Permite ao utilizador configurar credenciais de cliente e serviço, bem como definições de autenticação de credenciais de serviço para utilização do lado do cliente na 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
Implementações

Exemplos

O exemplo de código seguinte mostra como substituir esta classe e implementar as suas próprias credenciais personalizadas de cliente que incluam um gestor personalizado de tokens de segurança.

Importante

É importante observar que o CreateSecurityTokenManager método é substituído para criar um gerenciador de token de segurança personalizado. O gestor de tokens de segurança, derivado de ClientCredentialsSecurityTokenManager. deve devolver um fornecedor de token de segurança personalizado, derivado de SecurityTokenProvider, para criar o token de segurança real. Se não seguir este padrão para criar tokens de segurança, a sua aplicação estará em risco de ataques de segurança, especificamente elevação de privilégios. Este padrão de codificação garante que as credenciais corretas são 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

Observações

O ClientCredentials é acedido através da ClientCredentials propriedade da ClientBase<TChannel> classe.

Um ClientCredentials objeto é adicionado à Behaviors coleção. A ClientCredentials propriedade é uma Fachada (um padrão de design bem conhecido) sobre uma entrada dessa coleção. Muitas propriedades desta classe retornam objetos que consistem principalmente em propriedades. Estes objetos podem ser usados para configuração: uma vez que tens get o objeto, podes usá-lo para set propriedades chamando os seus membros.

Construtores

Name Description
ClientCredentials()

Inicializa uma nova instância da ClientCredentials classe.

ClientCredentials(ClientCredentials)

Isto é um construtor de cópia.

Propriedades

Name Description
ClientCertificate

Obtém um objeto que podes usar para fornecer o certificado X.509 que o cliente usa para autenticar no serviço.

HttpDigest

Obtém a credencial HTTP Digest atual.

IssuedToken

Use esta propriedade para especificar o endereço do endpoint e a vinculação a usar ao contactar o seu Serviço de Token de Segurança local. Esta informação é usada quando um serviço requer autenticação usando um token emitido, mas a política do serviço (representada como uma ligaçã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 junto de outros nós na malha, bem como as definições de autenticação que um nó par usa para autenticar outros nós pares.

SecurityTokenHandlerCollectionManager

Obtém ou define o gestor 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

Recebe ou define um valor que indica se o sistema pode solicitar interativamente credenciais ao utilizador quando necessário. Por exemplo, definir para false pode ser desejável em cenários de nível intermédio.

UseIdentityConfiguration

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

UserName

Obtém um objeto credencial que podes usar para definir o nome de utilizador e a palavra-passe que o cliente usa para se autenticar junto do serviço.

Windows

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

Métodos

Name Description
ApplyClientBehavior(ServiceEndpoint, ClientRuntime)

Aplica o comportamento do cliente especificado ao endpoint.

Clone()

Cria uma nova cópia desta ClientCredentials instância.

CloneCore()

Cria uma nova cópia desta ClientCredentials instância.

CreateSecurityTokenManager()

Cria um gestor de tokens de segurança para esta instância. Este método raramente é chamado explicitamente; É 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 função de hash predefinida.

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

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

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

Implementações de Interface Explícita

Name Description
IEndpointBehavior.AddBindingParameters(ServiceEndpoint, BindingParameterCollection)

Adiciona esta instância desta classe a uma coleção de parâmetros de ligação.

IEndpointBehavior.ApplyDispatchBehavior(ServiceEndpoint, EndpointDispatcher)

Implementa uma modificação ou extensão do serviço através de um endpoint.

IEndpointBehavior.Validate(ServiceEndpoint)

Reservado para uso futuro.

Aplica-se a