SecurityTokenHandler Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Classe base astratta per i gestori di 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 argomenti SecurityTokenHandler sono tratti dall'esempio di 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 su dove scaricarli, vedere indice di esempio di codice WIF. Il codice XML seguente illustra come aggiungere il gestore di token SWT alla raccolta dei 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 classe SecurityTokenHandler è 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 oggetto ClaimsIdentity.
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>
elementi.Creazione di token di sicurezza da un oggetto SecurityTokenDescriptor passato dalle implementazioni della classe SecurityTokenService.
Creazione di clausole dell'identificatore di chiave da un token di sicurezza per le implementazioni della classe SecurityTokenService.
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 classe SecurityTokenHandler.
Un gestore di token di sicurezza può essere aggiunto o rimosso da una raccolta di gestori di token specificando il <aggiungere>, <rimuovere>o <cancellare gli elementi> nell'elemento <securityTokenHandlers> in un file di configurazione. È possibile accedere all'oggetto SecurityTokenHandlerConfiguration che contiene le impostazioni di configurazione per l'insieme di gestori tramite la proprietà Configuration e l'insieme di gestori a cui è possibile accedere il gestore di token dalla proprietà ContainingCollection. È possibile eseguire l'override del metodo LoadCustomConfiguration per elaborare tutti gli elementi di configurazione personalizzati accettati dal gestore.
La classe SecurityTokenHandler espone diverse altre proprietà e metodi. A seconda delle funzionalità che si sceglie di implementare, è possibile eseguire l'override di alcuni o di tutti questi membri.
È necessario eseguire l'override della proprietà TokenType e del metodo GetTokenTypeIdentifiers per fornire all'infrastruttura WIF informazioni sul tipo di token di sicurezza che la classe è progettata per elaborare.
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à:
La proprietà CanValidateToken e il metodo ValidateToken: convalida un token e raggruppa le attestazioni contenute nel token in un ClaimsIdentity.
La proprietà CanWriteToken e i metodi di WriteToken: serializzazione dei token.
I metodi CanReadToken e i metodi di ReadToken: deserializzazione dei token.
Il metodo CanReadKeyIdentifierClause e il metodo ReadKeyIdentifierClause: deserializzazione delle clausole dell'identificatore di chiave.
Il metodo CanWriteKeyIdentifierClause e il metodo WriteKeyIdentifierClause: serializzazione delle clausole dell'identificatore di chiave.
I metodi CreateToken e CreateSecurityTokenReference vengono chiamati dalla pipeline nelle implementazioni della classe SecurityTokenService.
Il metodo DetectReplayedToken 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() |
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 del gestore di token che contiene l'istanza corrente. |
TokenType |
In caso di override in una classe derivata, ottiene il tipo del token di sicurezza elaborato da questa istanza. |
Metodi
CanReadKeyIdentifierClause(XmlReader) |
Restituisce un valore che indica se l'elemento XML a cui fa riferimento il lettore XML specificato è 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 token del tipo elaborato da questa istanza. |
CanReadToken(XmlReader) |
Restituisce un valore che indica se l'elemento XML a cui fa riferimento il lettore XML specificato può essere letto come token del tipo elaborato da questa istanza. |
CanWriteKeyIdentifierClause(SecurityKeyIdentifierClause) |
Restituisce un valore che indica se la clausola dell'identificatore di chiave specificata può essere serializzata da questa istanza. |
CreateSecurityTokenReference(SecurityToken, Boolean) |
Quando sottoposto a override in una classe derivata, crea il riferimento al token di sicurezza per i token elaborati da tale classe. Questo metodo viene in genere chiamato da un servizio token di sicurezza ( STS). |
CreateToken(SecurityTokenDescriptor) |
Quando sottoposto a override in una classe derivata, crea un token di sicurezza usando il descrittore di token specificato. Questo metodo viene chiamato da un servizio token di sicurezza (STS). |
DetectReplayedToken(SecurityToken) |
Quando sottoposto a override in una classe derivata, genera un'eccezione se il token specificato viene rilevato come riprodotto. |
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetTokenTypeIdentifiers() |
Quando sottoposto a 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 il Type dell'istanza corrente. (Ereditato da Object) |
LoadCustomConfiguration(XmlNodeList) |
Quando sottoposto a override in una classe derivata, carica la configurazione personalizzata da XML. |
MemberwiseClone() |
Crea una copia superficiale del Objectcorrente. (Ereditato da Object) |
ReadKeyIdentifierClause(XmlReader) |
In caso di override in una classe derivata, deserializza il codice XML a cui fa riferimento il lettore XML specificato a una clausola dell'identificatore di chiave che fa riferimento a un token elaborato dalla classe derivata. |
ReadToken(String) |
In caso di override in una classe derivata, deserializza la stringa specificata in un token del tipo elaborato dalla classe derivata. |
ReadToken(XmlReader, SecurityTokenResolver) |
In caso di override in una classe derivata, deserializza il codice XML a cui fa riferimento il lettore XML specificato a un token del tipo elaborato dalla classe derivata utilizzando il resolver di token specificato. |
ReadToken(XmlReader) |
In caso di override in una classe derivata, deserializza il codice XML a cui fa riferimento il lettore XML specificato a un token del tipo elaborato dalla classe derivata. |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
TraceTokenValidationFailure(SecurityToken, String) |
Analizza l'evento di errore durante la convalida dei token di sicurezza quando la traccia è abilitata. |
TraceTokenValidationSuccess(SecurityToken) |
Consente di tracciare la convalida corretta degli eventi dei token di sicurezza quando la traccia è abilitata. |
ValidateToken(SecurityToken) |
Quando sottoposto a override in una classe derivata, convalida il token di sicurezza specificato. Il token deve essere del tipo elaborato dalla classe derivata. |
WriteKeyIdentifierClause(XmlWriter, SecurityKeyIdentifierClause) |
In caso di override in una classe derivata, serializza la clausola dell'identificatore di chiave specificata in XML. La clausola dell'identificatore di chiave deve essere del tipo supportato dalla classe derivata. |
WriteToken(SecurityToken) |
Quando sottoposto a 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) |
Quando sottoposto a override in una classe derivata, serializza il token di sicurezza specificato in XML. Il token deve essere del tipo elaborato dalla classe derivata. |