ClaimsAuthenticationManager Klass

Definition

Definierar basimplementeringen för en anspråksautentiseringshanterare. Anspråksautentiseringshanteraren tillhandahåller en plats i pipelinen för anspråksbearbetning för att tillämpa bearbetningslogik (filtrering, validering, tillägg) på anspråkssamlingen i det inkommande huvudkontot innan körningen når programkoden.

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
Arv
ClaimsAuthenticationManager
Implementeringar

Exempel

Följande kod visar en enkel anspråksautentiseringshanterare som lägger till ett rollanspråk till det inkommande huvudkontot utan att utföra någon kontroll av inkommande anspråk.

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

Följande XML visar elementet <claimsAuthenticationManager> .

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

    ...

  </identityConfiguration>
</system.identityModel>

Kommentarer

Anspråksautentiseringshanteraren tillhandahåller en utökningspunkt i programmets pipeline för anspråksbearbetning som du kan använda för att verifiera, filtrera, ändra, inkommande anspråk eller mata in nya anspråk i den uppsättning anspråk som presenteras av en ClaimsPrincipal innan RP-programkoden körs. Du kan till och med returnera en anpassad implementering av ClaimsPrincipal om ditt RP-program kräver det. Standardimplementeringen som tillhandahålls av ClaimsAuthenticationManager klassen returnerar anspråken i den ClaimsPrincipal oförändrade. Du kan dock härleda från den Authenticate här klassen och åsidosätta metoden för att ändra anspråken ClaimsPrincipal i (eller för att returnera en anpassad ClaimsPrincipal).

En vanlig orsak till att skapa en autentiseringshanterare för anpassade anspråk är att lägga till, ta bort eller transformera anspråk baserat på information som bara är känd av eller kanske underhålls bättre av RP-programmet. Till exempel kan en historik över kundköp i ett kundvagnsprogram lagras i en databas som underhålls av RP-programmet och sedan läggas till i anspråksobjektet som returneras av anspråksautentiseringshanteraren baserat på värdet för ett namnanspråk som finns i det inkommande huvudkontot.

Du kan konfigurera ditt program att använda en ClaimsAuthenticationManager antingen programmatiskt med hjälp IdentityConfiguration av klassen eller i konfigurationen via elementet< claimsAuthenticationManager> (som är ett underordnat element i elementet< identityConfiguration>). Du kan åsidosätta LoadCustomConfiguration metoden för att tillhandahålla bearbetning för anpassade underordnade element i elementet <claimsAuthenticationManager> genom vilket din anpassade chef kan konfigureras. Basimplementeringen av ClaimsAuthenticationManager hanterar inte några underordnade element.

Om du konfigurerar ditt program för att använda en anspråksautentiseringshanterare ser du till att det anropas av Windows Identity Foundation (WIF) från begärandepipelinen.

Konstruktorer

Name Description
ClaimsAuthenticationManager()

Initierar en ny instans av ClaimsAuthenticationManager klassen.

Metoder

Name Description
Authenticate(String, ClaimsPrincipal)

När det åsidosättas i en härledd klass returnerar ett ClaimsPrincipal objekt som överensstämmer med kraven för RP-programmet. Standardimplementeringen ändrar inte inkommande ClaimsPrincipal.

Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
LoadCustomConfiguration(XmlNodeList)

När du åsidosättas i en härledd klass läser du in anpassad konfiguration från XML.

MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)

Gäller för