SecurityTokenHandler.CanReadToken Metodo

Definizione

Restituisce un valore che indica se il token specificato può essere deserializzato come token del tipo elaborato da questa istanza.

Overload

Nome Descrizione
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.

CanReadToken(String)

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

public:
 virtual bool CanReadToken(System::String ^ tokenString);
public virtual bool CanReadToken(string tokenString);
abstract member CanReadToken : string -> bool
override this.CanReadToken : string -> bool
Public Overridable Function CanReadToken (tokenString As String) As Boolean

Parametri

tokenString
String

Stringa del token da leggere.

Valori restituiti

true se il ReadToken(String) metodo può leggere l'elemento; in caso contrario, false. Il valore predefinito è false.

Commenti

L'implementazione predefinita restituisce sempre false.

Se si esegue l'override di questo metodo, è anche necessario eseguire l'override del SecurityTokenHandler.ReadToken metodo per fornire la logica per deserializzare il token.

Si applica a

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.

public:
 virtual bool CanReadToken(System::Xml::XmlReader ^ reader);
public virtual bool CanReadToken(System.Xml.XmlReader reader);
abstract member CanReadToken : System.Xml.XmlReader -> bool
override this.CanReadToken : System.Xml.XmlReader -> bool
Public Overridable Function CanReadToken (reader As XmlReader) As Boolean

Parametri

reader
XmlReader

Lettore XML posizionato in corrispondenza di un elemento iniziale. Il lettore non deve essere avanzato da questo metodo.

Valori restituiti

true se il ReadToken(XmlReader) metodo può leggere l'elemento; in caso contrario, false. Il valore predefinito è false.

Esempio

Il codice seguente illustra come eseguire l'override del CanReadToken metodo per determinare se un token può essere letto da un gestore. Il codice è tratto 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 su dove scaricarli, vedere Indice di esempio di codice WIF.

/// <summary>
/// Indicates whether the current XML element can be read as a token of the type handled by this instance.
/// </summary>
/// <param name="reader">An XML reader positioned at a start element. The reader should not be advanced.</param>
/// <returns>True if the ReadToken method can the element.</returns>
public override bool CanReadToken( XmlReader reader )
{
    bool canRead = false;

    if ( reader != null )
    {
        if ( reader.IsStartElement( BinarySecurityToken)
            && ( reader.GetAttribute( ValueType ) == SimpleWebTokenConstants.ValueTypeUri ) )
        {
            canRead = true;
        }
    }

    return canRead;
}

Commenti

L'implementazione predefinita restituisce sempre false.

Una classe derivata controlla l'elemento a cui fa riferimento il lettore per determinare se l'istanza può deserializzare un token di sicurezza. Questa operazione viene in genere eseguita tramite una chiamata al IsStartElement metodo con l'elemento e le stringhe dello spazio dei nomi appropriate specificate. Se si esegue l'override CanReadKeyIdentifierClausedi , è necessario eseguire anche l'override del SecurityTokenHandler.ReadToken metodo o del SecurityTokenHandler.ReadToken metodo per fornire la logica per deserializzare la clausola dell'identificatore di chiave.

Si applica a