SecurityTokenHandler.CanReadToken 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
返回指示指定标记是否可以作为由此实例处理类型标记的反序列化的值。
重载
CanReadToken(String) |
返回指示指定字符串是否可以作为由此实例处理类型标记的反序列化的值。 |
CanReadToken(XmlReader) |
返回指示由指定 XML 读取器引用的 XML 元素是否可以作为由此实例处理类型标记的读取的值。 |
CanReadToken(String)
返回指示指定字符串是否可以作为由此实例处理类型标记的反序列化的值。
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
参数
- tokenString
- String
读取的标记字符串。
返回
如果 ReadToken(String) 方法可读取元素,则为 true
;否则,为 false
。 默认值为 false
。
注解
默认实现始终返回 false
。
如果重写此方法,则还必须重写 SecurityTokenHandler.ReadToken 方法,以提供用于反序列化令牌的逻辑。
适用于
CanReadToken(XmlReader)
返回指示由指定 XML 读取器引用的 XML 元素是否可以作为由此实例处理类型标记的读取的值。
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
参数
- reader
- XmlReader
在开始元素上指定的 XML 读取器。 不能通过这种方法读取器前移。
返回
如果 ReadToken(XmlReader) 方法可读取元素,则为 true
;否则,为 false
。 默认值为 false
。
示例
以下代码演示如何重写 方法, CanReadToken 以确定处理程序是否可以读取令牌。 代码取自 Custom Token
示例。 此示例提供自定义类,这些类支持 (SWT) 处理简单 Web 令牌。 有关此示例和其他可用于 WIF 的示例以及下载位置的信息,请参阅 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;
}
注解
默认实现始终返回 false
。
派生类检查读取器引用的元素,以确定实例是否可以反序列化安全令牌。 这通常是通过调用 IsStartElement 指定了相应元素和命名空间字符串的方法来实现的。 如果重写 CanReadKeyIdentifierClause,则还必须重写 SecurityTokenHandler.ReadToken 方法或 方法, SecurityTokenHandler.ReadToken 以提供用于反序列化密钥标识符子句的逻辑。