Compartir vía


ClientCredentials Clase

Definición

Permite al usuario configurar las credenciales de cliente y servicio, así como la configuración de autenticación de credenciales de servicio para su uso en el lado cliente de la comunicación.

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
Herencia
ClientCredentials
Herencia
Derivado
Implementaciones

Ejemplos

En el ejemplo de código siguiente se muestra cómo invalidar esta clase e implementar sus propias credenciales de cliente personalizadas que incluye un administrador de tokens de seguridad personalizado.

Importante

Es importante tener en cuenta que el CreateSecurityTokenManager método se invalida para crear un administrador de tokens de seguridad personalizado. El administrador de tokens de seguridad, derivado de ClientCredentialsSecurityTokenManager. debe devolver un proveedor de tokens de seguridad personalizado, derivado de SecurityTokenProvider, para crear el token de seguridad real. Si no sigue este patrón para crear tokens de seguridad, la aplicación corre el riesgo de ataques de seguridad, específicamente la elevación de privilegios. Este patrón de codificación garantiza que se usen las credenciales correctas cuando se almacenan en caché los generadores de canales.

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

Comentarios

ClientCredentials Se obtiene acceso a a través de la ClientCredentials propiedad de la ClientBase<TChannel> clase .

Se agrega un ClientCredentials objeto a la Behaviors colección. La ClientCredentials propiedad es una fachada (un patrón de diseño conocido) sobre una entrada de esa colección. Muchas propiedades de esta clase devuelven objetos que constan principalmente de propiedades. Estos objetos se pueden usar para la configuración: una vez que get el objeto, puede usarlo para las propiedades llamando a set sus miembros.

Constructores

Nombre Description
ClientCredentials()

Inicializa una nueva instancia de la clase ClientCredentials.

ClientCredentials(ClientCredentials)

Se trata de un constructor de copia.

Propiedades

Nombre Description
ClientCertificate

Obtiene un objeto que puede usar para proporcionar el certificado X.509 que el cliente usa para autenticarse en el servicio.

HttpDigest

Obtiene la credencial de resumen HTTP actual.

IssuedToken

Use esta propiedad para especificar la dirección del punto de conexión y el enlace que se usarán al ponerse en contacto con el servicio de token de seguridad local. Esta información se usa cuando un servicio requiere autenticación mediante un token emitido, pero la directiva del servicio (representada como enlace en el cliente) no especifica explícitamente cómo y dónde obtener el token emitido.

Peer

Controla las credenciales que usa un nodo del mismo nivel para autenticarse en otros nodos de la malla, así como la configuración de autenticación que un nodo del mismo nivel usa para autenticar otros nodos del mismo nivel.

SecurityTokenHandlerCollectionManager

Obtiene o establece el controlador de tokens de seguridad para la credencial de cliente.

ServiceCertificate

Obtiene un objeto usado para especificar el certificado X.509 de un servicio.

SupportInteractive

Obtiene o establece un valor que indica si el sistema puede solicitar de forma interactiva las credenciales al usuario cuando sea necesario. Por ejemplo, establecerlo en false podría ser deseado en escenarios de nivel intermedio.

UseIdentityConfiguration

Obtiene o establece si las credenciales de cliente usan la configuración de identidad.

UserName

Obtiene un objeto de credencial que puede usar para establecer el nombre de usuario y la contraseña que usa el cliente para autenticarse en el servicio.

Windows

Obtiene un objeto usado para controlar las credenciales de Windows que el cliente usa para autenticarse en el servicio.

Métodos

Nombre Description
ApplyClientBehavior(ServiceEndpoint, ClientRuntime)

Aplica el comportamiento de cliente especificado al punto de conexión.

Clone()

Crea una nueva copia de esta ClientCredentials instancia.

CloneCore()

Crea una nueva copia de esta ClientCredentials instancia.

CreateSecurityTokenManager()

Crea un administrador de tokens de seguridad para esta instancia. Este método rara vez se llama explícitamente; se usa principalmente en escenarios de extensibilidad y lo llama el propio sistema.

Equals(Object)

Determina si el objeto especificado es igual al objeto actual.

(Heredado de Object)
GetHashCode()

Actúa como función hash predeterminada.

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

Genera y devuelve un token de seguridad mediante el sistema CardSpace y la cadena de directivas y el serializador de token especificados.

GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Objectactual.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Implementaciones de interfaz explícitas

Nombre Description
IEndpointBehavior.AddBindingParameters(ServiceEndpoint, BindingParameterCollection)

Agrega esta instancia de esta clase a una colección de parámetros de enlace.

IEndpointBehavior.ApplyDispatchBehavior(ServiceEndpoint, EndpointDispatcher)

Implementa una modificación o extensión del servicio en un punto de conexión.

IEndpointBehavior.Validate(ServiceEndpoint)

Reservado para uso futuro.

Se aplica a