Compartir a través de


SecurityTokenHandler.CanReadToken Método

Definición

Devuelve un valor que indica si el token especificado se puede deserializar como token del tipo procesado por esta instancia.

Sobrecargas

CanReadToken(String)

Devuelve un valor que indica si la cadena especificada se puede deserializar como token del tipo procesado por esta instancia.

CanReadToken(XmlReader)

Devuelve un valor que indica si el elemento XML al que el lector XML especificado hace referencia se puede leer como token del tipo procesado por esta instancia.

CanReadToken(String)

Devuelve un valor que indica si la cadena especificada se puede deserializar como token del tipo procesado por esta instancia.

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

Parámetros

tokenString
String

La cadena de token para leer.

Devoluciones

true si el método ReadToken(String) puede leer el elemento; en caso contrario, false. De manera predeterminada, es false.

Comentarios

La implementación predeterminada siempre devuelve false.

Si invalida este método, también debe invalidar el SecurityTokenHandler.ReadToken método para proporcionar la lógica para deserializar el token.

Se aplica a

CanReadToken(XmlReader)

Devuelve un valor que indica si el elemento XML al que el lector XML especificado hace referencia se puede leer como token del tipo procesado por esta instancia.

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

Parámetros

reader
XmlReader

Lector XML situado en un elemento de inicio. Este método no debe avanzar el lector.

Devoluciones

true si el método ReadToken(XmlReader) puede leer el elemento; en caso contrario, false. De manera predeterminada, es false.

Ejemplos

En el código siguiente se muestra cómo invalidar el CanReadToken método para determinar si un controlador puede leer un token. El código se toma del Custom Token ejemplo. En este ejemplo se proporcionan clases personalizadas que permiten el procesamiento de tokens web simples (SWT). Para obtener información sobre este ejemplo y otros ejemplos disponibles para WIF y dónde descargarlos, consulte Índice de ejemplo de código 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;
}

Comentarios

La implementación predeterminada siempre devuelve false.

Una clase derivada comprueba el elemento al que hace referencia el lector para determinar si la instancia puede deserializar un token de seguridad. Normalmente, esto se logra a través de una llamada al IsStartElement método con las cadenas de espacio de nombres y elementos correspondientes especificadas. Si invalida CanReadKeyIdentifierClause, también debe invalidar el SecurityTokenHandler.ReadToken método o el SecurityTokenHandler.ReadToken método para proporcionar la lógica para deserializar la cláusula de identificador de clave.

Se aplica a