ClaimsAuthenticationManager Klasse

Definition

Definiert die Basisimplementierung für einen Anspruchsauthentifizierungs-Manager. Der Forderungsauthentifizierungs-Manager bietet einen Ort in der Forderungsverarbeitungspipeline zum Anwenden von Verarbeitungslogik (Filterung, Überprüfung, Erweiterung) auf die Anspruchssammlung im eingehenden Prinzipal, bevor die Ausführung Ihren 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)
            {
                ((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 Pipeline für die Anspruchsverarbeitung der Anwendung bereit, mit der Sie neue Ansprüche überprüfen, filtern, ändern, eingehende Ansprüche ändern oder neue Ansprüche in die Gruppe von Ansprüchen einfügen können, die von einem ClaimsPrincipal vor der Ausführung des RP-Anwendungscodes angezeigt werden. Sie können sogar eine benutzerdefinierte Implementierung zurückgeben, wenn ClaimsPrincipal Ihre RP-Anwendung sie benötigt. Die von der ClaimsAuthenticationManager Klasse bereitgestellte Standardimplementierung gibt die Ansprüche in der ClaimsPrincipal unveränderten Klasse zurück. Sie können jedoch von dieser Klasse abgeleitet werden und die Authenticate Methode überschreiben, um die Ansprüche in der ClaimsPrincipal (oder um eine benutzerdefinierte ClaimsPrincipal) zu ändern.

Ein typischer Grund zum 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. So kann beispielsweise ein Verlauf von Kundenkäufen in einer Einkaufswagenanwendung in einer Von der RP-Anwendung verwalteten Datenbank aufbewahrt und dann dem vom Forderungsauthentifizierungs-Manager zurückgegebenen Anspruchsprinzipal basierend auf dem Wert eines im eingehenden Prinzipal gefundenen Namensanspruchs hinzugefügt werden.

Sie können Ihre Anwendung so konfigurieren, dass sie entweder ClaimsAuthenticationManager programmgesteuert mithilfe der IdentityConfiguration Klasse oder in der Konfiguration über das <ClaimsAuthenticationManager-Element> (ein untergeordnetes Element des <IdentityConfiguration-Elements> ) verwendet wird. Sie können die LoadCustomConfiguration Methode außer Kraft setzen, um die Verarbeitung für benutzerdefinierte untergeordnete Elemente des <claimsAuthenticationManager> Elements bereitzustellen, über das Ihr benutzerdefinierter Manager konfiguriert werden kann. Die Basisimplementierung behandelt ClaimsAuthenticationManager keine untergeordneten Elemente.

Durch die Konfiguration Ihrer Anwendung für die Verwendung eines Anspruchsauthentifizierungs-Managers wird sichergestellt, dass sie von Windows Identity Foundation (WIF) aus der Anforderungspipeline aufgerufen wird.

Konstruktoren

Name Beschreibung
ClaimsAuthenticationManager()

Initialisiert eine neue Instanz der ClaimsAuthenticationManager-Klasse.

Methoden

Name Beschreibung
Authenticate(String, ClaimsPrincipal)

Wenn eine abgeleitete Klasse außer Kraft gesetzt wird, wird ein ClaimsPrincipal Objekt zurückgegeben, das den Anforderungen der RP-Anwendung entspricht. Die Standardimplementierung ändert nicht den eingehenden ClaimsPrincipal.

Equals(Object)

Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht.

(Geerbt von Object)
GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
LoadCustomConfiguration(XmlNodeList)

Wenn sie in einer abgeleiteten Klasse außer Kraft gesetzt wird, wird die benutzerdefinierte Konfiguration aus XML geladen.

MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Gilt für: