ClaimsAuthenticationManager 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í.
Define la implementación base de un administrador de autenticación de notificaciones. El administrador de autenticación de notificaciones proporciona un lugar en la canalización de procesamiento de notificaciones para aplicar lógica de procesamiento (filtrado, validación, extensión) a la colección de notificaciones de la entidad de seguridad entrante antes de que la ejecución llegue al código de la aplicación.
public ref class ClaimsAuthenticationManager : System::IdentityModel::Configuration::ICustomIdentityConfiguration
public class ClaimsAuthenticationManager : System.IdentityModel.Configuration.ICustomIdentityConfiguration
type ClaimsAuthenticationManager = class
interface ICustomIdentityConfiguration
Public Class ClaimsAuthenticationManager
Implements ICustomIdentityConfiguration
- Herencia
-
ClaimsAuthenticationManager
- Implementaciones
Ejemplos
El código siguiente muestra un administrador de autenticación de notificaciones simple que agrega una notificación de rol a la entidad de seguridad entrante sin realizar ninguna comprobación en las notificaciones entrantes.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Security.Claims;
namespace MyClaimsAuthenticationManager
{
class SimpleClaimsAuthenticatonManager : ClaimsAuthenticationManager
{
public override ClaimsPrincipal Authenticate(string resourceName, ClaimsPrincipal incomingPrincipal)
{
if (incomingPrincipal != null && incomingPrincipal.Identity.IsAuthenticated)
{
((ClaimsIdentity)incomingPrincipal.Identity).AddClaim(new Claim(ClaimTypes.Role, "User"));
}
return incomingPrincipal;
}
}
}
El siguiente XML muestra el <claimsAuthenticationManager> elemento .
<system.identityModel>
<identityConfiguration>
<claimsAuthenticationManager type="MyClaimsAuthenticationManager.SimpleClaimsAuthenticatonManager, MyClaimsAuthenticationManager" />
...
</identityConfiguration>
</system.identityModel>
Comentarios
El administrador de autenticación de notificaciones proporciona un punto de extensibilidad en la canalización de procesamiento de notificaciones de la aplicación que puede usar para validar, filtrar, modificar, insertar notificaciones entrantes o insertar nuevas notificaciones en el conjunto de notificaciones presentadas por un ClaimsPrincipal antes de que se ejecute el código de la aplicación rp. Incluso puede devolver una implementación personalizada de ClaimsPrincipal si la aplicación rp la requiere. La implementación predeterminada proporcionada por la ClaimsAuthenticationManager clase devuelve las notificaciones de sin ClaimsPrincipal modificar; sin embargo, puede derivar de esta clase e invalidar el Authenticate método para modificar las notificaciones en ClaimsPrincipal (o para devolver un personalizado ClaimsPrincipal).
Un motivo típico para crear un administrador de autenticación de notificaciones personalizado es agregar, quitar o transformar notificaciones en función de la información que solo conoce o es, quizás, mejor mantenida por la aplicación rp. Por ejemplo, el administrador de autenticación de notificaciones puede conservar un historial de compras en una aplicación de carro de compra en una base de datos mantenida por la aplicación rp y, a continuación, agregar a la entidad de seguridad de notificaciones devuelta por el administrador de autenticación de notificaciones en función del valor de una notificación de nombre que se encuentra en la entidad de seguridad entrante.
Puede configurar la aplicación para que use una ClaimsAuthenticationManager clase mediante programación mediante la IdentityConfiguration clase o en la configuración a través del <elemento claimsAuthenticationManager> (que es un elemento secundario del <elemento identityConfiguration> ). Puede invalidar el LoadCustomConfiguration método para proporcionar procesamiento para los elementos secundarios personalizados del <claimsAuthenticationManager> elemento a través del cual se puede configurar el administrador personalizado. La implementación base de ClaimsAuthenticationManager no controla ningún elemento secundario.
La configuración de la aplicación para usar un administrador de autenticación de notificaciones garantiza que Windows Identity Foundation (WIF) la invocará desde la canalización de solicitudes.
Constructores
| Nombre | Description |
|---|---|
| ClaimsAuthenticationManager() |
Inicializa una nueva instancia de la clase ClaimsAuthenticationManager. |
Métodos
| Nombre | Description |
|---|---|
| Authenticate(String, ClaimsPrincipal) |
Cuando se reemplaza en una clase derivada, devuelve un ClaimsPrincipal objeto coherente con los requisitos de la aplicación RP. La implementación predeterminada no modifica el entrante ClaimsPrincipal. |
| 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) |
| GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
| LoadCustomConfiguration(XmlNodeList) |
Cuando se invalida en una clase derivada, carga la configuración personalizada desde XML. |
| MemberwiseClone() |
Crea una copia superficial del Objectactual. (Heredado de Object) |
| ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |