ClientCredentials Clase

Definición

Le permite al usuario configurar las credenciales del cliente y del servicio, así como los valores de autenticación de la credencial de servicio para el uso en la parte de la comunicación del cliente.

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

El ejemplo de código siguiente 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 método CreateSecurityTokenManager 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 propiamente dicho. Si no sigue este modelo para crear los tokens de seguridad, su aplicación estará en peligro y podrá sufrir ataques de seguridad, sobre todo en las elevaciones de privilegios. Este modelo de codificación garantiza el uso de las credenciales correctas cuando los generadores de canales están almacenados en memoria caché.

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

Se obtiene acceso a ClientCredentials mediante la propiedad ClientCredentials de la clase ClientBase<TChannel>.

Un objeto ClientCredentials se agrega a la colección Behaviors. 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 devuelve objetos que están compuestos principalmente por propiedades. Estos objetos se pueden utilizar para la configuración: cuando get el objeto, puede utilizarlo para set propiedades llamando a sus miembros.

Constructores

ClientCredentials()

Inicializa una nueva instancia de la clase ClientCredentials.

ClientCredentials(ClientCredentials)

Éste es un constructor de copias.

Propiedades

ClientCertificate

Obtiene un objeto que puede utilizar para proporcionar el certificado X.509 que el cliente utiliza para autenticar al servicio.

HttpDigest

Obtiene la credencial de resumen HTTP actual.

IssuedToken

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

Peer

Controla las credenciales que un nodo del mismo nivel utiliza para autenticarse en otros nodos de la malla, así como los valores de autenticación que un nodo del mismo nivel utiliza para autenticar otros nodos entre pares.

SecurityTokenHandlerCollectionManager

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

ServiceCertificate

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

SupportInteractive

Obtiene o establece un valor que indica si se permite al sistema preguntar interactivamente al usuario las credenciales cuando sea necesario. Por ejemplo, establecer esto como false se podría desear en escenarios de nivel medio.

UseIdentityConfiguration

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

UserName

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

Windows

Obtiene un objeto utilizado para controlar la credencial de Windows que el cliente utiliza para autenticarse en el servicio.

Métodos

ApplyClientBehavior(ServiceEndpoint, ClientRuntime)

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

Clone()

Crea una nueva copia de esta instancia de ClientCredentials.

CloneCore()

Crea una nueva copia de esta instancia de ClientCredentials.

CreateSecurityTokenManager()

Crea un administrador de tokens de seguridad para esta instancia. Raramente se llama a este método explícitamente; se utiliza principalmente en escenarios de extensibilidad y es llamado por el propio sistema.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetHashCode()

Sirve como la 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 tokens especificados.

GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Implementaciones de interfaz explícitas

IEndpointBehavior.AddBindingParameters(ServiceEndpoint, BindingParameterCollection)

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

IEndpointBehavior.ApplyDispatchBehavior(ServiceEndpoint, EndpointDispatcher)

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

IEndpointBehavior.Validate(ServiceEndpoint)

Reservado para un uso futuro.

Se aplica a