ClaimsAuthenticationManager Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Definiert die Basisimplementierung für einen Anspruchsauthentifizierungs-Manager. Der Anspruchsauthentifizierungs-Manager stellt einen Bereich in der Anspruchsverarbeitungs-Pipeline zur Anwendung von Ablauflogik (Filtern, Validierung, Erweiterung) für die Anspruchsauflistung im eingehenden Prinzipal bereit, bevor die Ausführung den Anwendungscode erreicht.
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
- Vererbung
-
ClaimsAuthenticationManager
- Implementiert
Beispiele
Der folgende Code zeigt einen einfachen Anspruchsauthentifizierungs-Manager, der dem eingehenden Prinzipal einen Rollenanspruch hinzufügt, ohne die eingehenden Ansprüche zu überprüfen.
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;
}
}
}
Der folgende XML-Code zeigt das <claimsAuthenticationManager>
-Element.
<system.identityModel>
<identityConfiguration>
<claimsAuthenticationManager type="MyClaimsAuthenticationManager.SimpleClaimsAuthenticatonManager, MyClaimsAuthenticationManager" />
...
</identityConfiguration>
</system.identityModel>
Hinweise
Der Anspruchsauthentifizierungs-Manager stellt einen Erweiterbarkeitspunkt in der Anforderungsverarbeitungspipeline der Anwendung bereit, den Sie verwenden können, um eingehende Ansprüche zu überprüfen, zu filtern, zu ändern oder neue Ansprüche in den Satz von Ansprüchen einzufügen, der von einem ClaimsPrincipal angezeigt wird, bevor der RP-Anwendungscode ausgeführt wird. Sie können sogar eine benutzerdefinierte Implementierung von ClaimsPrincipal zurückgeben, wenn Ihre RP-Anwendung dies erfordert. Die von der ClaimsAuthenticationManager -Klasse bereitgestellte Standardimplementierung gibt die Ansprüche in der ClaimsPrincipal nicht geänderten zurück. Sie können jedoch von dieser Klasse ableiten und die Authenticate Methode überschreiben, um die Ansprüche in zu ClaimsPrincipal ändern (oder einen benutzerdefinierten ClaimsPrincipalzurückzugeben).
Ein typischer Grund für das Erstellen eines benutzerdefinierten Anspruchsauthentifizierungs-Managers besteht darin, Ansprüche basierend auf Informationen hinzuzufügen, zu entfernen oder zu transformieren, die nur von der RP-Anwendung bekannt sind oder möglicherweise besser verwaltet werden. Beispielsweise kann ein Verlauf von Kundenkäufen in einer Warenkorbanwendung in einer datenbank gespeichert werden, die von der RP-Anwendung verwaltet wird, und dann dem Anspruchsprinzipal hinzugefügt werden, der vom Anspruchsauthentifizierungs-Manager basierend auf dem Wert eines Namensanspruchs im eingehenden Prinzipal zurückgegeben wird.
Sie können Ihre Anwendung so konfigurieren, dass sie ClaimsAuthenticationManager
entweder programmgesteuert mit der -Klasse oder in der IdentityConfiguration Konfiguration über das <claimsAuthenticationManager-Element> (ein untergeordnetes Element des <identityConfiguration-Elements> ) verwendet wird. Sie können die -Methode überschreiben, um die LoadCustomConfiguration Verarbeitung für benutzerdefinierte untergeordnete Elemente des <claimsAuthenticationManager>
Elements bereitzustellen, über das Ihr benutzerdefinierter Manager konfiguriert werden kann. Die Basisimplementierung von ClaimsAuthenticationManager behandelt keine untergeordneten Elemente.
Wenn Sie Ihre Anwendung für die Verwendung eines Anspruchsauthentifizierungs-Managers konfigurieren, wird sichergestellt, dass sie von Windows Identity Foundation (WIF) aus der Anforderungspipeline aufgerufen wird.
Konstruktoren
ClaimsAuthenticationManager() |
Initialisiert eine neue Instanz der ClaimsAuthenticationManager-Klasse. |
Methoden
Authenticate(String, ClaimsPrincipal) |
Gibt beim Überschreiben in einer abgeleiteten Klasse ein ClaimsPrincipal-Objekt zurück, das mit den Anforderungen der RP-Anwendung konsistent ist. Die Standardimplementierung ändert nicht das eingehende ClaimsPrincipal-Objekt. |
Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
LoadCustomConfiguration(XmlNodeList) |
Lädt beim Überschreiben in einer abgeleiteten Klasse die benutzerdefinierte Konfiguration aus XML ab. |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |