ClaimsAuthenticationManager Classe

Definição

Define a implementação base para um gestor de autenticação de sinistros. O gestor de autenticação de sinistros fornece um local no pipeline de processamento de sinistros para aplicar lógica de processamento (filtragem, validação, extensão) à recolha de reclamações no principal de entrada antes da execução chegar ao código da sua aplicação.

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
Herança
ClaimsAuthenticationManager
Implementações

Exemplos

O código seguinte mostra um gestor simples de autenticação de reclamações que adiciona uma reivindicação de função ao principal recebido sem realizar qualquer verificação das reclamações recebidas.

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; 
        }
    }
}

O XML seguinte mostra o <claimsAuthenticationManager> elemento.

<system.identityModel>
  <identityConfiguration>
    <claimsAuthenticationManager type="MyClaimsAuthenticationManager.SimpleClaimsAuthenticatonManager, MyClaimsAuthenticationManager" />

    ...

  </identityConfiguration>
</system.identityModel>

Observações

O gestor de autenticação de sinistros fornece um ponto de extensibilidade no pipeline de processamento de sinistros da aplicação que pode usar para validar, filtrar, modificar, receber pedidos ou injetar novos pedidos no conjunto de reivindicações apresentadas por a ClaimsPrincipal antes de o código da aplicação RP ser executado. Podes até devolver uma implementação personalizada se ClaimsPrincipal a tua aplicação RP assim o exigir. A implementação padrão fornecida pela ClaimsAuthenticationManager classe devolve as reivindicações no ClaimsPrincipal não modificado; no entanto, pode derivar desta classe e sobrescrever o Authenticate método para modificar as reivindicações no ClaimsPrincipal (ou para devolver um custom ClaimsPrincipal).

Uma razão típica para criar um gestor personalizado de autenticação de reivindicações é adicionar, remover ou transformar reivindicações com base em informações que só são conhecidas ou que são, talvez, melhor mantidas pela aplicação RP. Por exemplo, um histórico de compras de clientes numa aplicação de carrinho de compras pode ser guardado numa base de dados mantida pela aplicação RP e depois adicionado ao principal de reclamações devolvido pelo gestor de autenticação de sinistros com base no valor de uma reivindicação de nome encontrada no principal recebido.

Pode configurar a sua aplicação para usar um ClaimsAuthenticationManager programaticamente usando a IdentityConfiguration classe ou em configuração através do <elemento claimsAuthenticationManager> (que é um elemento filho do <elemento identityConfiguration> ). Pode sobrescrever o LoadCustomConfiguration método para fornecer processamento para elementos <claimsAuthenticationManager> filhos personalizados do elemento, através dos quais o seu gestor personalizado pode ser configurado. A implementação base de ClaimsAuthenticationManager não lida com quaisquer elementos filhos.

Configurar a sua aplicação para usar um gestor de autenticação de reclamações garante que será invocada pelo Windows Identity Foundation (WIF) a partir do pipeline de pedidos.

Construtores

Name Description
ClaimsAuthenticationManager()

Inicializa uma nova instância da ClaimsAuthenticationManager classe.

Métodos

Name Description
Authenticate(String, ClaimsPrincipal)

Quando sobrescrito numa classe derivada, devolve um ClaimsPrincipal objeto consistente com os requisitos da aplicação RP. A implementação padrão não modifica o ClaimsPrincipal.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
LoadCustomConfiguration(XmlNodeList)

Quando sobreposto numa classe derivada, carrega uma configuração personalizada a partir do XML.

MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

Aplica-se a