ClaimsAuthenticationManager Třída

Definice

Definuje základní implementaci Správce ověřování deklarací identity.Defines the base implementation for a claims authentication manager. Správce ověřování deklarací identity poskytuje místo v kanálu zpracování deklarací identity pro použití logiky zpracování (filtrování, ověřování, rozšíření) do kolekce deklarací v příchozím objektu zabezpečení před tím, než dorazí k vašemu kódu aplikace.The claims authentication manager provides a place in the claims processing pipeline for applying processing logic (filtering, validation, extension) to the claims collection in the incoming principal before execution reaches your application code.

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
Dědičnost
ClaimsAuthenticationManager
Implementuje

Příklady

Následující kód ukazuje jednoduchý Správce ověřování deklarací identity, který přidává deklaraci identity role do příchozího objektu zabezpečení bez provedení kontroly příchozích deklarací identity.The following code shows a simple claims authentication manager that adds a role claim to the incoming principal without performing any check on the incoming claims.

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

Následující kód XML ukazuje <claimsAuthenticationManager> element.The following XML shows the <claimsAuthenticationManager> element.

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

    ...  

  </identityConfiguration>  
</system.identityModel>  

Poznámky

Správce ověřování deklarací identity poskytuje bod rozšíření v kanálu zpracování deklarací identity aplikace, který můžete použít k ověření, filtrování, úpravám, příchozích deklarací nebo vložení nových deklarací do sady deklarací, které ClaimsPrincipal jsou uvedeny před spuštěním kódu aplikace RP.The claims authentication manager provides an extensibility point in the application's claims processing pipeline that you can use to validate, filter, modify, incoming claims or inject new claims into the set of claims presented by a ClaimsPrincipal before the RP application code is executed. Můžete dokonce vrátit vlastní implementaci, ClaimsPrincipal Pokud to vaše aplikace RP vyžaduje.You can even return a custom implementation of ClaimsPrincipal if your RP application requires it. Výchozí implementace poskytnutá ClaimsAuthenticationManager třídou vrací deklarace v ClaimsPrincipal nezměněné podobě, ale můžete je odvozovat z této třídy a přepsat Authenticate metodu pro úpravu deklarací v ClaimsPrincipal (nebo pro návrat vlastní ClaimsPrincipal ).The default implementation provided by the ClaimsAuthenticationManager class returns the claims in the ClaimsPrincipal unmodified; however, you can derive from this class and override the Authenticate method to modify the claims in the ClaimsPrincipal (or to return a custom ClaimsPrincipal).

Běžným důvodem pro vytvoření vlastního Správce ověřování deklarací identity je přidání, odebrání nebo transformace deklarací identity na základě informací, které jsou známy pouze pomocí nebo jsou pravděpodobně lépe udržované aplikací RP.A typical reason for creating a custom claims authentication manager is to add, remove, or transform claims based on information that is only known by or is, perhaps, better maintained by the RP application. Například historie nákupů zákazníků v aplikaci nákupního košíku se může uchovávat v databázi, kterou udržuje aplikace RP, a pak se přidají do objektu zabezpečení deklarací vráceného správcem ověřování deklarací identity na základě hodnoty deklarace identity, která se nachází ve vstupním objektu zabezpečení.For example, a history of customer purchases in a shopping cart application might be kept in a data base maintained by the RP application and then added to the claims principal returned by the claims authentication manager based on the value of a name claim found in the incoming principal.

Aplikaci můžete nakonfigurovat tak, aby používala ClaimsAuthenticationManager buď programově pomocí třídy, IdentityConfiguration nebo v konfiguraci prostřednictvím elementu < komponenty ClaimsAuthenticationManager > (což je podřízený prvek elementu < IdentityConfiguration > ).You can configure your application to use a ClaimsAuthenticationManager either programmatically by using the IdentityConfiguration class or in configuration through the <claimsAuthenticationManager> element (which is a child element of the <identityConfiguration> element). Metodu můžete přepsat LoadCustomConfiguration tak, aby poskytovala zpracování pro vlastní podřízené prvky <claimsAuthenticationManager> elementu, pomocí kterého lze nakonfigurovat vlastního správce.You can override the LoadCustomConfiguration method to provide processing for custom child elements of the <claimsAuthenticationManager> element through which your custom manager can be configured. Základní implementace aplikace ClaimsAuthenticationManager nezpracovává žádné podřízené prvky.The base implementation of ClaimsAuthenticationManager does not handle any child elements.

Konfigurace aplikace tak, aby používala Správce ověřování deklarací identity, zajistí, že bude vyvolána Windows Identity Foundation (WIF) z kanálu žádosti.Configuring your application to use a claims authentication manager ensures that it will be invoked by Windows Identity Foundation (WIF) from the request pipeline.

Konstruktory

ClaimsAuthenticationManager()

Inicializuje novou instanci ClaimsAuthenticationManager třídy.Initializes a new instance of the ClaimsAuthenticationManager class.

Metody

Authenticate(String, ClaimsPrincipal)

Při přepsání v odvozené třídě vrátí ClaimsPrincipal objekt konzistentní s požadavky aplikace RP.When overridden in a derived class, returns a ClaimsPrincipal object consistent with the requirements of the RP application. Výchozí implementace nemění příchozí ClaimsPrincipal .The default implementation does not modify the incoming ClaimsPrincipal.

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.Determines whether the specified object is equal to the current object.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí funkce hash.Serves as the default hash function.

(Zděděno od Object)
GetType()

Získá Type aktuální instanci.Gets the Type of the current instance.

(Zděděno od Object)
LoadCustomConfiguration(XmlNodeList)

Při přepsání v odvozené třídě načte vlastní konfiguraci z XML.When overridden in a derived class, loads custom configuration from XML.

MemberwiseClone()

Vytvoří kopii aktuálního seznamu Object .Creates a shallow copy of the current Object.

(Zděděno od Object)
ToString()

Vrátí řetězec, který představuje aktuální objekt.Returns a string that represents the current object.

(Zděděno od Object)

Platí pro