Język

ClaimsAuthenticationManager Klasa

Definicja

Definiuje podstawową implementację menedżera uwierzytelniania oświadczeń. Menedżer uwierzytelniania oświadczeń udostępnia miejsce w potoku przetwarzania oświadczeń do stosowania logiki przetwarzania (filtrowanie, walidacja, rozszerzenie) do kolekcji oświadczeń w jednostce przychodzącej przed osiągnięciem kodu aplikacji.

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
Dziedziczenie
ClaimsAuthenticationManager
Implementuje

Przykłady

Poniższy kod przedstawia prostego menedżera uwierzytelniania oświadczeń, który dodaje oświadczenie roli do podmiotu zabezpieczeń przychodzących bez przeprowadzania sprawdzania oświadczeń przychodzących.

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

Poniższy kod XML przedstawia <claimsAuthenticationManager> element .

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

    ...

  </identityConfiguration>
</system.identityModel>

Uwagi

Menedżer uwierzytelniania oświadczeń zapewnia punkt rozszerzalności w potoku przetwarzania oświadczeń aplikacji, którego można użyć do sprawdzania poprawności, filtrowania, modyfikowania, oświadczeń przychodzących lub wstrzykiwania nowych oświadczeń do zestawu oświadczeń przedstawionych przed ClaimsPrincipal wykonaniem kodu aplikacji rp. Możesz nawet zwrócić niestandardową implementację ClaimsPrincipal , jeśli aplikacja RP wymaga jej. Domyślna implementacja dostarczana przez klasę ClaimsAuthenticationManager zwraca oświadczenia w ClaimsPrincipal niezmodyfikowanych elementach; można jednak pochodzić z tej klasy i zastąpić Authenticate metodę modyfikowania oświadczeń w ClaimsPrincipal obiekcie (lub zwracania niestandardowego ClaimsPrincipal).

Typowym powodem tworzenia niestandardowego menedżera uwierzytelniania oświadczeń jest dodawanie, usuwanie lub przekształcanie oświadczeń na podstawie informacji, które są znane tylko przez lub jest, być może, lepiej obsługiwane przez aplikację RP. Na przykład historia zakupów klientów w aplikacji koszyka może być przechowywana w bazie danych obsługiwanej przez aplikację RP, a następnie dodawana do podmiotu zabezpieczeń oświadczeń zwróconego przez menedżera uwierzytelniania oświadczeń na podstawie wartości oświadczenia oświadczenia znalezionego w podmiotu zabezpieczeń przychodzących.

Aplikację można skonfigurować tak, aby korzystała ClaimsAuthenticationManager programowo przy użyciu klasy lub w konfiguracji za pomocą IdentityConfiguration<elementu claimsAuthenticationManager> (który jest elementem <podrzędnym elementu identityConfiguration> ). Można zastąpić metodę LoadCustomConfiguration w celu zapewnienia przetwarzania niestandardowych elementów podrzędnych <claimsAuthenticationManager> elementu, za pomocą którego można skonfigurować menedżera niestandardowego. Podstawowa implementacja programu nie obsługuje żadnych elementów podrzędnych ClaimsAuthenticationManager .

Skonfigurowanie aplikacji w celu korzystania z menedżera uwierzytelniania oświadczeń gwarantuje, że zostanie ona wywołana przez program Windows Identity Foundation (WIF) z potoku żądania.

Konstruktory

Nazwa Opis
ClaimsAuthenticationManager()

Inicjuje nowe wystąpienie klasy ClaimsAuthenticationManager.

Metody

Nazwa Opis
Authenticate(String, ClaimsPrincipal)

Po zastąpieniu w klasie pochodnej zwraca ClaimsPrincipal obiekt zgodny z wymaganiami aplikacji RP. Domyślna implementacja nie modyfikuje przychodzącego ClaimsPrincipalelementu .

Equals(Object)

Określa, czy określony obiekt jest równy bieżącemu obiektowi.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Pobiera Type bieżącego wystąpienia.

(Odziedziczone po Object)
LoadCustomConfiguration(XmlNodeList)

Po zastąpieniu w klasie pochodnej ładuje konfigurację niestandardową z pliku XML.

MemberwiseClone()

Tworzy płytkią kopię bieżącego Object.

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Dotyczy