SecurityTokenHandler.CanReadToken Method

Definition

Retourne une valeur qui indique si le jeton spécifié peut être désérialisé en tant que jeton du type traité par cette instance.Returns a value that indicates whether the specified token can be deserialized as a token of the type processed by this instance.

Overloads

CanReadToken(String)

Retourne une valeur qui indique si la chaîne spécifiée peut être désérialisée comme un jeton du type traité par cette instance.Returns a value that indicates whether the specified string can be deserialized as a token of the type processed by this instance.

CanReadToken(XmlReader)

Retourne une valeur qui indique si l'élément XML référencé par le lecteur XML spécifié peut être lu comme un jeton du type traité par cette instance.Returns a value that indicates whether the XML element referenced by the specified XML reader can be read as a token of the type processed by this instance.

CanReadToken(String)

Retourne une valeur qui indique si la chaîne spécifiée peut être désérialisée comme un jeton du type traité par cette instance.Returns a value that indicates whether the specified string can be deserialized as a token of the type processed by this instance.

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

Parameters

tokenString
String

Chaîne de jeton à lire.The token string to read.

Returns

Boolean

true si la méthode ReadToken(String) peut lire l'élément ; sinon, false.true if the ReadToken(String) method can read the element; otherwise, false. Par défaut, il s’agit de false.The default is false.

Remarks

L'implémentation par défaut retourne toujours false.The default implementation always returns false.

Si vous substituez cette méthode, vous devez également substituer la méthode SecurityTokenHandler.ReadToken pour fournir la logique de désérialisation du jeton.If you override this method, you must also override the SecurityTokenHandler.ReadToken method to provide the logic to deserialize the token.

CanReadToken(XmlReader)

Retourne une valeur qui indique si l'élément XML référencé par le lecteur XML spécifié peut être lu comme un jeton du type traité par cette instance.Returns a value that indicates whether the XML element referenced by the specified XML reader can be read as a token of the type processed by this instance.

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

Parameters

reader
XmlReader

Lecteur XML positionné au niveau d'un élément de début.An XML reader positioned at a start element. Le lecteur ne doit pas être avancé par cette méthode.The reader should not be advanced by this method.

Returns

Boolean

true si la méthode ReadToken(XmlReader) peut lire l'élément ; sinon, false.true if the ReadToken(XmlReader) method can read the element; otherwise, false. Par défaut, il s’agit de false.The default is false.

Examples

Le code suivant montre comment substituer la méthode CanReadToken pour déterminer si un jeton peut être lu par un gestionnaire.The following code shows how to override the CanReadToken method to determine whether a token can be read by a handler. Le code est extrait de l’exemple Custom Token.The code is taken from the Custom Token sample. Cet exemple fournit des classes personnalisées qui permettent le traitement de jetons Web simples (SWT).This sample provides custom classes that enable processing of Simple Web Tokens (SWT). Pour plus d’informations sur cet exemple et d’autres exemples disponibles pour WIF et l’emplacement de leur téléchargement, consultez exemple d’index de code WIF.For information about this sample and other samples available for WIF and where to download them, see WIF Code Sample Index.

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

Remarks

L'implémentation par défaut retourne toujours false.The default implementation always returns false.

Une classe dérivée vérifie l’élément auquel le lecteur fait référence pour déterminer si l’instance peut désérialiser un jeton de sécurité.A derived class checks the element that the reader is referring to in order to determine whether the instance can deserialize a security token. Cela s’effectue généralement à l’aide d’un appel à la méthode IsStartElement avec l’élément et les chaînes d’espace de noms spécifiés.This is typically accomplished through a call to the IsStartElement method with the appropriate element and namespace strings specified. Si vous substituez CanReadKeyIdentifierClause, vous devez également substituer la méthode SecurityTokenHandler.ReadToken ou la méthode SecurityTokenHandler.ReadToken pour fournir la logique de désérialisation de la clause d’identificateur de clé.If you override CanReadKeyIdentifierClause, you must also override the SecurityTokenHandler.ReadToken method or the SecurityTokenHandler.ReadToken method to provide the logic to deserialize the key identifier clause.

Applies to