SecurityTokenHandler Classe

Definizione

La classe di base astratta per i gestori del token di sicurezza.

public ref class SecurityTokenHandler abstract : System::IdentityModel::Configuration::ICustomIdentityConfiguration
public abstract class SecurityTokenHandler : System.IdentityModel.Configuration.ICustomIdentityConfiguration
type SecurityTokenHandler = class
    interface ICustomIdentityConfiguration
Public MustInherit Class SecurityTokenHandler
Implements ICustomIdentityConfiguration
Ereditarietà
SecurityTokenHandler
Derivato
Implementazioni

Esempio

Gli esempi di codice in tutti gli SecurityTokenHandler argomenti sono tratti dall'esempio Custom Token . Questo esempio fornisce classi personalizzate che consentono l'elaborazione di token Web semplici (SWT). Per informazioni su questo esempio e altri esempi disponibili per WIF e dove scaricarli, vedere Indice di esempio di codice WIF. Il codice XML seguente illustra come aggiungere il gestore di token SWT alla raccolta di gestori di token.

<system.identityModel>
  <identityConfiguration saveBootstrapContext="true">
    <issuerTokenResolver type="SimpleWebToken.CustomIssuerTokenResolver, SimpleWebToken">
      <AddAudienceKeyPair  symmetricKey="wAVkldQiFypTQ+kdNdGWCYCHRcee8XmXxOvgmak8vSY=" audience="http://localhost:19851/" />
    </issuerTokenResolver>
    <issuerNameRegistry type="RelyingParty.TrustedIssuerNameRegistry, RelyingParty"/>
    <audienceUris>
      <add value="http://localhost:19851/"/>
    </audienceUris>
    <securityTokenHandlers>
      <add type="SimpleWebToken.SimpleWebTokenHandler, SimpleWebToken" />
    </securityTokenHandlers>
  </identityConfiguration>
</system.identityModel>

Commenti

La SecurityTokenHandler classe è la classe base da cui derivano tutti i gestori di token di sicurezza. Un gestore di token di sicurezza è responsabile di:

  • Convalida dei token di sicurezza (SecurityToken) del tipo progettato per elaborare e creare il pacchetto delle attestazioni contenute nel token in un ClaimsIdentity oggetto .

  • Serializzazione e deserializzazione dei token di sicurezza del tipo che è progettato per l'elaborazione.

  • Serializzazione e deserializzazione delle clausole dell'identificatore di chiave (SecurityKeyIdentifierClause) che fanno riferimento ai token del tipo che è progettato per elaborare da e verso <wsse:SecurityTokenReference> gli elementi.

  • Creazione di token di sicurezza da un SecurityTokenDescriptor oggetto passato dalle implementazioni della SecurityTokenService classe .

  • Creazione di clausole identificatore di chiave da un token di sicurezza per le implementazioni della SecurityTokenService classe .

Windows Identity Foundation (WIF) offre i seguenti gestori di token di sicurezza predefiniti:

La maggior parte di queste classi espone membri aggiuntivi che implementano funzionalità specifiche per l'elaborazione dei token per cui è progettata la classe. In molti casi può essere preferibile derivare da una di queste classi anziché direttamente dalla SecurityTokenHandler classe .

Un gestore di token di sicurezza può essere aggiunto o rimosso da una raccolta di gestori di token specificando gli <elementi add>, <remove> o <clear> nell'elemento <securityTokenHandlers> in un file di configurazione. È SecurityTokenHandlerConfiguration possibile accedere all'oggetto che contiene le impostazioni di configurazione per l'insieme di gestori tramite la Configuration proprietà e la raccolta del gestore a cui è possibile accedere il gestore di token dalla ContainingCollection proprietà . È possibile eseguire l'override del LoadCustomConfiguration metodo per elaborare tutti gli elementi di configurazione personalizzati accettati dal gestore.

La SecurityTokenHandler classe espone diverse altre proprietà e metodi. A seconda delle funzionalità che si sceglie di implementare, è possibile eseguire l'override di alcuni o tutti questi membri.

È necessario eseguire l'override della TokenType proprietà e del GetTokenTypeIdentifiers metodo per fornire all'infrastruttura WIF informazioni sul tipo di token di sicurezza che la classe è progettata per l'elaborazione.

La convalida, la serializzazione e la funzionalità di deserializzazione vengono esposte tramite proprietà o metodi che indicano se il gestore può eseguire una funzione specifica combinata con il metodo o i metodi che implementano la funzionalità. L'elenco seguente associa le proprietà o i metodi che indicano la funzionalità con i metodi che implementano tale funzionalità:

I CreateToken metodi e CreateSecurityTokenReference vengono chiamati dalla pipeline nelle implementazioni della SecurityTokenService classe .

Il DetectReplayedToken metodo viene chiamato dall'infrastruttura WIF per determinare se il token specificato è già stato ricevuto. Per impostazione predefinita, questo metodo restituisce false, che indica che il token non è già stato ricevuto. È possibile eseguire l'override del metodo e fornire la logica per rilevare i token riprodotti.

Costruttori

SecurityTokenHandler()

Viene chiamato dai costruttori nelle classi derivate per inizializzare la classe SecurityTokenHandler.

Proprietà

CanValidateToken

Ottiene un valore che indica se il gestore supporta la convalida dei token di sicurezza.

CanWriteToken

Ottiene un valore che indica se il gestore può serializzare i token di sicurezza.

Configuration

Ottiene o imposta l'oggetto SecurityTokenHandlerConfiguration che fornisce la configurazione per l'istanza corrente.

ContainingCollection

Ottiene la raccolta di gestori di token che contiene l'istanza corrente.

TokenType

Se sottoposta a override in una classe derivata, ottiene il tipo di token di sicurezza elaborato dall'istanza.

Metodi

CanReadKeyIdentifierClause(XmlReader)

Restituisce un valore che indica se l'elemento XML a cui il lettore XML specificato fa riferimento è una clausola dell'identificatore di chiave che può essere deserializzata da questa istanza.

CanReadToken(String)

Restituisce un valore che indica se la stringa specificata può essere deserializzata come un token del tipo elaborato da questa istanza.

CanReadToken(XmlReader)

Restituisce un valore che indica se l'elemento XML a cui il lettore XML specificato fa riferimento può essere letto come token del tipo elaborato da questa istanza.

CanWriteKeyIdentifierClause(SecurityKeyIdentifierClause)

Restituisce un valore che indica se la clausola dell'identificatore chiave specificata può essere serializzata da questa istanza.

CreateSecurityTokenReference(SecurityToken, Boolean)

Una volta eseguito l'override in una classe derivata, crea il riferimento del token di sicurezza per i token elaborati da quella classe. Questo metodo in genere viene chiamato da un servizio token di sicurezza (STS).

CreateToken(SecurityTokenDescriptor)

Quando è sottoposto a override in una classe derivata, crea un nuovo token di sicurezza utilizzando il descrittore di token specificato. Questo metodo viene chiamato da un servizio token di sicurezza (STS).

DetectReplayedToken(SecurityToken)

Una volta eseguito l'override in una classe derivata, viene generata un'eccezione se il token specificato viene rilevato come ripetuto.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetTokenTypeIdentifiers()

Una volta eseguito l'override in una classe derivata, restituisce il set di URI utilizzati nelle richieste per identificare un token del tipo elaborato dalla classe derivata.

GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
LoadCustomConfiguration(XmlNodeList)

Quando sottoposto a override in una classe derivata, carica la configurazione personalizzata dall'XML.

MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
ReadKeyIdentifierClause(XmlReader)

Quando viene sottoposto a override in una classe derivata, deserializza l'XML a cui fa riferimento il lettore XML specificato a una clausola dell'identificatore di chiave che si riferisce a un token elaborato dalla classe derivata.

ReadToken(String)

Una volta eseguito l'override in una classe derivata, deserializza la stringa specificata in un token del tipo elaborato dalla classe derivata.

ReadToken(XmlReader)

Una volta eseguito l'override in una classe derivata, deserializza l'XML cui si fa riferimento dal lettore XML specificato in un token del tipo elaborato dalla classe derivata.

ReadToken(XmlReader, SecurityTokenResolver)

Una volta eseguito l'override in una classe derivata, deserializza l'XML cui si fa riferimento dal lettore XML specificato in un token del tipo elaborato dalla classe derivata utilizzando il resolver di token specificato.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
TraceTokenValidationFailure(SecurityToken, String)

Traccia l'evento di errore durante la convalida dei token di sicurezza se è abilitata la tracciatura.

TraceTokenValidationSuccess(SecurityToken)

Traccia la convalida dell'evento dei token di sicurezza se è abilitata la tracciatura.

ValidateToken(SecurityToken)

Una volta eseguito l'override in una classe derivata, convalida il token di sicurezza specificato. Il token deve essere del tipo elaborato dalla classe derivata.

WriteKeyIdentifierClause(XmlWriter, SecurityKeyIdentifierClause)

Una volta eseguito l'override in una classe derivata, serializza la clausola identificatore chiave specificata in XML. La clausola identificatore di chiave deve essere di tipo supportato dalla classe derivata.

WriteToken(SecurityToken)

Una volta eseguito l'override in una classe derivata, serializza il token di sicurezza specificato in una stringa. Il token deve essere del tipo elaborato dalla classe derivata.

WriteToken(XmlWriter, SecurityToken)

Una volta eseguito l'override in una classe derivata, serializza il token di sicurezza specificato in XML. Il token deve essere del tipo elaborato dalla classe derivata.

Si applica a

Vedi anche