ClaimsAuthenticationManager Klasa

Definicja

Definiuje podstawową implementację menedżera uwierzytelniania oświadczeń. Menedżer uwierzytelniania oświadczeń zapewnia miejsce w potoku przetwarzania oświadczeń do stosowania logiki przetwarzania (filtrowanie, walidacja, rozszerzenie) do kolekcji oświadczeń w przychodzącym podmiotu zabezpieczeń 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 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 == true)
            {
                ((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 wykonaniem ClaimsPrincipal kodu aplikacji RP. Można nawet zwrócić niestandardową implementację ClaimsPrincipal , jeśli aplikacja rp wymaga jej. Domyślna implementacja podana przez ClaimsAuthenticationManager klasę zwraca oświadczenia w ClaimsPrincipal niezmodyfikowanym. Można jednak pochodzić z tej klasy i zastąpić Authenticate metodę w celu zmodyfikowania oświadczeń w ClaimsPrincipal obiekcie (lub zwrócenia 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 usługę lub jest, być może, lepiej obsługiwane przez aplikację rp. Na przykład historia zakupów klientów w aplikacji koszyka zakupów może być przechowywana w bazie danych utrzymywanej 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 przychodzącym podmiotu zabezpieczeń.

Aplikację można skonfigurować tak, aby korzystała ClaimsAuthenticationManager programowo przy użyciu IdentityConfiguration klasy lub konfiguracji za pomocą <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 elementu nie obsługuje żadnych elementów podrzędnych ClaimsAuthenticationManager .

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

Konstruktory

ClaimsAuthenticationManager()

Inicjuje nowe wystąpienie klasy ClaimsAuthenticationManager.

Metody

Authenticate(String, ClaimsPrincipal)

W przypadku zastąpienia w klasie pochodnej zwraca ClaimsPrincipal obiekt zgodny z wymaganiami aplikacji RP. Implementacja domyślna nie modyfikuje przychodzącego ClaimsPrincipalelementu .

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetHashCode()

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

(Odziedziczone po Object)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
LoadCustomConfiguration(XmlNodeList)

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

MemberwiseClone()

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

(Odziedziczone po Object)
ToString()

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

(Odziedziczone po Object)

Dotyczy