Share via


SecurityTokenHandler.CanReadToken 方法

定義

傳回值,這個值表示指定的語彙基元是否可還原序列化為此執行個體所處理的型別語彙基元。

多載

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

備註

預設的實作 (Implementation) 一定會傳回 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 範例。 此範例提供自定義類別,可讓您處理簡單 Web 令牌 (SWT) 。 如需此範例和其他可供 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;
}

備註

預設的實作 (Implementation) 一定會傳回 false

衍生類別會檢查讀取器所參考的專案,以判斷實例是否可以還原串行化安全性令牌。 這通常是透過呼叫 方法來完成, IsStartElement 並指定適當的專案和命名空間字串。 如果您覆寫 ,您也必須覆寫 CanReadKeyIdentifierClauseSecurityTokenHandler.ReadToken 方法或 SecurityTokenHandler.ReadToken 方法,以提供邏輯來還原串行化密鑰標識子句。

適用於