ClaimsAuthenticationManager Klas

Definitie

Definieert de basis-implementatie voor een claimverificatiebeheerder. De claimverificatiebeheerder biedt een plaats in de pijplijn voor claimverwerking voor het toepassen van verwerkingslogica (filteren, valideren, extensie) op de claimsverzameling in de binnenkomende principal voordat de uitvoering uw toepassingscode bereikt.

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
Overname
ClaimsAuthenticationManager
Implementeringen

Voorbeelden

De volgende code toont een eenvoudige claimverificatiebeheerder die een rolclaim toevoegt aan de binnenkomende principal zonder dat er een controle op de binnenkomende claims wordt uitgevoerd.

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

In de volgende XML wordt het <claimsAuthenticationManager> element weergegeven.

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

    ...

  </identityConfiguration>
</system.identityModel>

Opmerkingen

De claimverificatiebeheerder biedt een uitbreidbaarheidspunt in de pijplijn voor claimverwerking van de toepassing die u kunt gebruiken voor het valideren, filteren, wijzigen, wijzigen, binnenkomende claims of het injecteren van nieuwe claims in de set claims die worden gepresenteerd door een ClaimsPrincipal voordat de RP-toepassingscode wordt uitgevoerd. U kunt zelfs een aangepaste implementatie retourneren van ClaimsPrincipal als uw RP-toepassing dit vereist. De standaardimplementatie van de ClaimsAuthenticationManager klasse retourneert de claims in de ClaimsPrincipal ongewijzigde status. U kunt echter afleiden van deze klasse en de methode overschrijven om de Authenticate claims in de ClaimsPrincipal (of om een aangepaste ClaimsPrincipalwaarde te retourneren).

Een typische reden voor het maken van een aangepast claimverificatiebeheer is het toevoegen, verwijderen of transformeren van claims op basis van informatie die alleen bekend is door of misschien beter wordt onderhouden door de RP-toepassing. Een geschiedenis van klantaankopen in een winkelwagentoepassing kan bijvoorbeeld worden bewaard in een gegevensdatabase die wordt onderhouden door de RP-toepassing en vervolgens wordt toegevoegd aan de claimprincipaal die door de claimverificatiemanager wordt geretourneerd op basis van de waarde van een naamclaim die in de binnenkomende principal is gevonden.

U kunt uw toepassing zo configureren dat deze programmatisch wordt gebruikt ClaimsAuthenticationManager met behulp van de IdentityConfiguration klasse of in de configuratie via het <element claimsAuthenticationManager> (een onderliggend element van het <element identityConfiguration> ). U kunt de LoadCustomConfiguration methode overschrijven om verwerking te bieden voor aangepaste onderliggende elementen van het <claimsAuthenticationManager> element waarmee uw aangepaste manager kan worden geconfigureerd. De basis-implementatie van ClaimsAuthenticationManager verwerkt geen onderliggende elementen.

Als u uw toepassing configureert voor het gebruik van een claimverificatiebeheerder, zorgt u ervoor dat deze wordt aangeroepen door Windows Identity Foundation (WIF) vanuit de aanvraagpijplijn.

Constructors

Name Description
ClaimsAuthenticationManager()

Initialiseert een nieuw exemplaar van de ClaimsAuthenticationManager klasse.

Methoden

Name Description
Authenticate(String, ClaimsPrincipal)

Wanneer deze wordt overschreven in een afgeleide klasse, wordt een ClaimsPrincipal object geretourneerd dat consistent is met de vereisten van de RP-toepassing. De standaard implementatie wijzigt de binnenkomende ClaimsPrincipalimplementatie niet.

Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
LoadCustomConfiguration(XmlNodeList)

Wanneer deze wordt overschreven in een afgeleide klasse, wordt de aangepaste configuratie uit XML geladen.

MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)

Van toepassing op