Udostępnij za pośrednictwem


SecurityTokenHandler.CanReadToken Metoda

Definicja

Zwraca wartość wskazującą, czy określony token można deserializować jako token typu przetworzonego przez to wystąpienie.

Przeciążenia

CanReadToken(String)

Zwraca wartość wskazującą, czy określony ciąg może być deserializowany jako token typu przetworzonego przez to wystąpienie.

CanReadToken(XmlReader)

Zwraca wartość wskazującą, czy element XML, do którego odwołuje się określony czytnik XML, może być odczytywany jako token typu przetworzonego przez to wystąpienie.

CanReadToken(String)

Zwraca wartość wskazującą, czy określony ciąg może być deserializowany jako token typu przetworzonego przez to wystąpienie.

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

Parametry

tokenString
String

Ciąg tokenu do odczytania.

Zwraca

trueReadToken(String) jeśli metoda może odczytać element; falsew przeciwnym razie . Wartość domyślna to false.

Uwagi

Domyślna implementacja zawsze zwraca wartość false.

Jeśli zastąpisz tę metodę, musisz również zastąpić SecurityTokenHandler.ReadToken metodę, aby zapewnić logikę deserializacji tokenu.

Dotyczy

CanReadToken(XmlReader)

Zwraca wartość wskazującą, czy element XML, do którego odwołuje się określony czytnik XML, może być odczytywany jako token typu przetworzonego przez to wystąpienie.

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

Parametry

reader
XmlReader

Czytnik XML umieszczony na elemecie startowym. Czytelnik nie powinien być zaawansowany przez tę metodę.

Zwraca

trueReadToken(XmlReader) jeśli metoda może odczytać element; falsew przeciwnym razie . Wartość domyślna to false.

Przykłady

Poniższy kod pokazuje, jak zastąpić metodę CanReadToken w celu określenia, czy token może być odczytywany przez program obsługi. Kod jest pobierany z przykładu Custom Token . Ten przykład zawiera niestandardowe klasy, które umożliwiają przetwarzanie prostych tokenów internetowych (SWT). Aby uzyskać informacje na temat tego przykładu i innych przykładów dostępnych dla programu WIF oraz miejsca ich pobierania, zobacz Przykładowy indeks kodu programu 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;
}

Uwagi

Domyślna implementacja zawsze zwraca wartość false.

Klasa pochodna sprawdza element, do którego odwołuje się czytelnik, aby określić, czy wystąpienie może deserializować token zabezpieczający. Zazwyczaj odbywa się to za pomocą wywołania IsStartElement metody z określonymi odpowiednimi elementami i ciągami przestrzeni nazw. Jeśli zastąpisz CanReadKeyIdentifierClausemetodę , należy również zastąpić SecurityTokenHandler.ReadToken metodę lub SecurityTokenHandler.ReadToken metodę w celu zapewnienia logiki deserializacji klauzuli identyfikatora klucza.

Dotyczy