Поделиться через


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

Строка токена для чтения

Возвращаемое значение

Значение true, если метод ReadToken(String) может считывать элемент; в противном случае — значение 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, размещаемое на начальном элементе. Средство чтения не должно предваряться этим методом.

Возвращаемое значение

Значение true, если метод ReadToken(XmlReader) может считывать элемент; в противном случае — значение false. Значение по умолчанию — false.

Примеры

В следующем коде показано, как переопределить CanReadToken метод , чтобы определить, может ли маркер быть считан обработчиком. Код взят из Custom Token примера. В этом примере представлены пользовательские классы, обеспечивающие обработку простых веб-маркеров (SWT). Сведения об этом и других примерах, доступных для WIF, и о том, где их можно скачать, см. в разделе WiF Code Sample Index.

/// <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 чтобы предоставить логику для десериализации предложения идентификатора ключа.

Применяется к