Share via


ClaimsAuthenticationManager Clase

Definición

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 del procesamiento de notificaciones para aplicar la lógica de procesamiento (filtrado, validación, extensión) a la colección de notificaciones en la entidad de seguridad de entrada antes de la ejecución del código de 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

En el código siguiente se 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 == true)
            {
                ((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 aplicación de RP. Incluso puede devolver una implementación personalizada de ClaimsPrincipal si la aplicación de RP la requiere. La implementación predeterminada proporcionada por la ClaimsAuthenticationManager clase devuelve las notificaciones 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 de RP. Por ejemplo, un historial de compras de clientes en una aplicación de carro de la compra podría conservarse en una base de datos mantenida por la aplicación rp y, a continuación, agregarse 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 encontrada en la entidad de seguridad entrante.

Puede configurar la aplicación para que use un ClaimsAuthenticationManager elemento 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 elemento a través del cual se puede configurar el <claimsAuthenticationManager> 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

ClaimsAuthenticationManager()

Inicializa una nueva instancia de la clase ClaimsAuthenticationManager.

Métodos

Authenticate(String, ClaimsPrincipal)

Cuando se reemplaza en una clase derivada, devuelve un objeto ClaimsPrincipal coherente con los requisitos de la aplicación de RP. La implementación predeterminada no modifica la ClaimsPrincipal de entrada.

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)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
LoadCustomConfiguration(XmlNodeList)

Cuando se reemplaza en una clase derivada, carga la configuración personalizada de XML.

MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Se aplica a