ClientCredentials Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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 |
| 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. |