Compartilhar via


ClaimsAuthenticationManager Classe

Definição

Define a implementação base para um gerenciador de autenticação de declarações. O gerenciador de autenticação de declarações fornece um local no pipeline de processamento de declarações para aplicar a lógica de processamento (filtragem, validação e extensão) à coleção de declarações da entidade de segurança de entrada antes que a execução atinja o código do aplicativo.

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 a seguir mostra um gerenciador de autenticação de declarações simples que adiciona uma declaração de função à entidade de segurança de entrada sem executar nenhuma verificação nas declarações de entrada.

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

O XML a seguir mostra o <claimsAuthenticationManager> elemento.

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

    ...  

  </identityConfiguration>  
</system.identityModel>  

Comentários

O gerenciador de autenticação de declarações fornece um ponto de extensibilidade no pipeline de processamento de declarações do aplicativo que você pode usar para validar, filtrar, modificar, receber declarações ou injetar novas declarações no conjunto de declarações apresentado por um ClaimsPrincipal antes de o código do aplicativo RP ser executado. Você pode até mesmo retornar uma implementação personalizada de ClaimsPrincipal se seu aplicativo RP exigir isso. A implementação padrão fornecida pela ClaimsAuthenticationManager classe retorna as declarações no ClaimsPrincipal não modificado; no entanto, você pode derivar dessa classe e substituir o Authenticate método para modificar as declarações no ClaimsPrincipal (ou para retornar um personalizado ClaimsPrincipal).

Um motivo típico para criar um gerenciador de autenticação de declarações personalizadas é adicionar, remover ou transformar declarações com base em informações que só são conhecidas ou talvez sejam melhor mantidas pelo aplicativo RP. Por exemplo, um histórico de compras de clientes em um aplicativo de carrinho de compras pode ser mantido em uma base de dados mantida pelo aplicativo RP e, em seguida, adicionado à entidade de segurança de declarações retornada pelo gerenciador de autenticação de declarações com base no valor de uma declaração de nome encontrada na entidade de segurança de entrada.

Você pode configurar seu aplicativo para usar programaticamente ClaimsAuthenticationManager usando a IdentityConfiguration classe ou na configuração por meio do <elemento claimsAuthenticationManager> (que é um elemento filho do <elemento identityConfiguration> ). Você pode substituir o LoadCustomConfiguration método para fornecer processamento para elementos filho personalizados do elemento por meio do qual seu <claimsAuthenticationManager> gerenciador personalizado pode ser configurado. A implementação base de ClaimsAuthenticationManager não manipula nenhum elemento filho.

Configurar seu aplicativo para usar um gerenciador de autenticação de declarações garante que ele será invocado pelo Windows Identity Foundation (WIF) do pipeline de solicitação.

Construtores

ClaimsAuthenticationManager()

Inicializa uma nova instância da classe ClaimsAuthenticationManager.

Métodos

Authenticate(String, ClaimsPrincipal)

Quando substituído em uma classe derivada, retorna um objeto ClaimsPrincipal consistente com os requisitos do aplicativo RP. A implementação padrão não modifica o ClaimsPrincipal de entrada.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
LoadCustomConfiguration(XmlNodeList)

Quando substituído em uma classe derivada, carrega a configuração personalizada do XML.

MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Aplica-se a