ClaimsAuthenticationManager Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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) |