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

Se aplica a