SecurityTokenHandler.CanReadToken Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Devuelve un valor que indica si el token especificado se puede deserializar como un token del tipo procesado por esta instancia.
Sobrecargas
| Nombre | Description |
|---|---|
| CanReadToken(String) |
Devuelve un valor que indica si la cadena especificada se puede deserializar como un token del tipo procesado por esta instancia. |
| CanReadToken(XmlReader) |
Devuelve un valor que indica si el elemento XML al que hace referencia el lector XML especificado se puede leer como un token del tipo procesado por esta instancia. |
CanReadToken(String)
Devuelve un valor que indica si la cadena especificada se puede deserializar como un 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
Cadena de token que se va a leer.
Devoluciones
true es si el ReadToken(String) método puede leer el elemento; de lo contrario, falsees . El valor predeterminado 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 hace referencia el lector XML especificado se puede leer como un 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 colocado en un elemento de inicio. El lector no debe ser avanzado por este método.
Devoluciones
true es si el ReadToken(XmlReader) método puede leer el elemento; de lo contrario, falsees . El valor predeterminado es false.
Ejemplos
El código siguiente 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 de 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 elemento adecuadas 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.