SecurityTokenHandler Klasa

Definicja

Abstrakcyjna klasa podstawowa dla procedur obsługi tokenów zabezpieczających.

public ref class SecurityTokenHandler abstract : System::IdentityModel::Configuration::ICustomIdentityConfiguration
public abstract class SecurityTokenHandler : System.IdentityModel.Configuration.ICustomIdentityConfiguration
type SecurityTokenHandler = class
    interface ICustomIdentityConfiguration
Public MustInherit Class SecurityTokenHandler
Implements ICustomIdentityConfiguration
Dziedziczenie
SecurityTokenHandler
Pochodne
Implementuje

Przykłady

Przykłady kodu we wszystkich tematach SecurityTokenHandler pochodzą 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. Poniższy kod XML pokazuje, jak dodać procedurę obsługi tokenów SWT do kolekcji procedur obsługi tokenów.

<system.identityModel>
  <identityConfiguration saveBootstrapContext="true">
    <issuerTokenResolver type="SimpleWebToken.CustomIssuerTokenResolver, SimpleWebToken">
      <AddAudienceKeyPair  symmetricKey="wAVkldQiFypTQ+kdNdGWCYCHRcee8XmXxOvgmak8vSY=" audience="http://localhost:19851/" />
    </issuerTokenResolver>
    <issuerNameRegistry type="RelyingParty.TrustedIssuerNameRegistry, RelyingParty"/>
    <audienceUris>
      <add value="http://localhost:19851/"/>
    </audienceUris>
    <securityTokenHandlers>
      <add type="SimpleWebToken.SimpleWebTokenHandler, SimpleWebToken" />
    </securityTokenHandlers>
  </identityConfiguration>
</system.identityModel>

Uwagi

Klasa SecurityTokenHandler jest klasą bazową, z której pochodzą wszystkie procedury obsługi tokenów zabezpieczających. Program obsługi tokenów zabezpieczających jest odpowiedzialny za:

  • Weryfikowanie tokenów zabezpieczających (SecurityToken) typu przeznaczonego do przetwarzania i pakowania oświadczeń zawartych w tokenie ClaimsIdentity do obiektu.

  • Serializowanie i deserializacja tokenów zabezpieczających typu, który jest przeznaczony do przetwarzania.

  • Serializowanie i deserializacji klauzul identyfikatora klucza (SecurityKeyIdentifierClause), które odwołują się do tokenów typu, który jest przeznaczony do przetwarzania elementów i z <wsse:SecurityTokenReference> elementów.

  • Tworzenie tokenów zabezpieczających z SecurityTokenDescriptor obiektu przekazanego SecurityTokenService przez implementacje klasy.

  • Tworzenie klauzul identyfikatora klucza na podstawie tokenu zabezpieczającego SecurityTokenService dla implementacji klasy.

program Windows Identity Foundation (WIF) dostarcza następujące procedury obsługi tokenów zabezpieczających w tym polu:

Większość tych klas uwidacznia dodatkowe elementy członkowskie, które implementują funkcje specyficzne dla przetwarzania tokenów, dla których zaprojektowano klasę. W wielu przypadkach lepiej jest pochodzić z jednej z tych klas, a nie bezpośrednio z SecurityTokenHandler klasy.

Program obsługi tokenów zabezpieczających można dodać lub usunąć z kolekcji procedury obsługi tokenów, określając <dodawanie>, <usuwanie> lub <czyszczenie> elementów w <elemecie securityTokenHandlers> w pliku konfiguracji. Do SecurityTokenHandlerConfiguration obiektu zawierającego ustawienia konfiguracji kolekcji programu obsługi można uzyskać dostęp za pośrednictwem Configuration właściwości i kolekcji programu obsługi, do której można uzyskać dostęp z właściwości programu obsługi tokenów ContainingCollection . Możesz zastąpić metodę przetwarzania LoadCustomConfiguration dowolnych niestandardowych elementów konfiguracji, które przyjmuje program obsługi.

Klasa SecurityTokenHandler uwidacznia kilka innych właściwości i metod. W zależności od funkcji, które chcesz zaimplementować, można zastąpić niektóre lub wszystkie z tych elementów członkowskich.

Należy zastąpić TokenType właściwość i GetTokenTypeIdentifiers metodę w celu udostępnienia infrastruktury programu WIF informacji o typie tokenu zabezpieczającego, który klasa ma przetworzyć.

Funkcja walidacji, serializacji i deserializacji jest uwidoczniona za pomocą właściwości lub metod wskazujących, czy program obsługi może wykonać określoną funkcję w połączeniu z metodą lub metodami, które implementują funkcjonalność. Poniższa lista paruje właściwości lub metody wskazujące funkcje za pomocą metod implementujących tę funkcję:

Metody CreateToken i CreateSecurityTokenReference są wywoływane z potoku w implementacjach SecurityTokenService klasy .

Metoda jest wywoływana DetectReplayedToken przez infrastrukturę programu WIF w celu określenia, czy określony token został już odebrany. Domyślnie ta metoda zwraca falsewartość , która wskazuje, że token nie został jeszcze odebrany. Możesz zastąpić metodę i zapewnić logikę wykrywania odtwarzanych tokenów.

Konstruktory

SecurityTokenHandler()

Wywoływane z konstruktorów w klasach pochodnych w celu zainicjowania SecurityTokenHandler klasy.

Właściwości

CanValidateToken

Pobiera wartość wskazującą, czy program obsługi obsługuje walidację tokenów zabezpieczających.

CanWriteToken

Pobiera wartość wskazującą, czy program obsługi może serializować tokeny zabezpieczające.

Configuration

Pobiera lub ustawia SecurityTokenHandlerConfiguration obiekt, który zapewnia konfigurację dla bieżącego wystąpienia.

ContainingCollection

Pobiera kolekcję obsługi tokenów zawierającą bieżące wystąpienie.

TokenType

Po zastąpieniu klasy pochodnej pobiera typ tokenu zabezpieczającego przetwarzanego przez to wystąpienie.

Metody

CanReadKeyIdentifierClause(XmlReader)

Zwraca wartość wskazującą, czy element XML, do którego odwołuje się określony czytnik XML, jest klauzulą identyfikatora klucza, która może być deserializacji 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.

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.

CanWriteKeyIdentifierClause(SecurityKeyIdentifierClause)

Zwraca wartość wskazującą, czy określona klauzula identyfikatora klucza może być serializowana przez to wystąpienie.

CreateSecurityTokenReference(SecurityToken, Boolean)

Po zastąpieniu w klasie pochodnej tworzy odwołanie do tokenu zabezpieczającego dla tokenów przetworzonych przez klasę. Ta metoda jest zwykle wywoływana przez usługę tokenu zabezpieczającego (STS).

CreateToken(SecurityTokenDescriptor)

Po zastąpieniu w klasie pochodnej tworzy token zabezpieczający przy użyciu określonego deskryptora tokenu. Ta metoda jest wywoływana przez usługę tokenu zabezpieczającego (STS).

DetectReplayedToken(SecurityToken)

W przypadku przesłonięcia w klasie pochodnej zgłasza wyjątek, jeśli określony token zostanie wykryty jako odtwarzany.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetTokenTypeIdentifiers()

W przypadku zastąpienia w klasie pochodnej zwraca zestaw identyfikatorów URI używanych w żądaniach w celu zidentyfikowania tokenu typu przetworzonego przez klasę pochodną.

GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
LoadCustomConfiguration(XmlNodeList)

Po zastąpieniu w klasie pochodnej ładuje konfigurację niestandardową z kodu XML.

MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ReadKeyIdentifierClause(XmlReader)

Po zastąpieniu klasy pochodnej deserializuje kod XML przywołynięty przez określonego czytnika XML do klauzuli identyfikatora klucza, która odwołuje się do tokenu przetworzonego przez klasę pochodną.

ReadToken(String)

Gdy zastąpisz klasę pochodną, deserializuje określony ciąg do tokenu typu przetworzonego przez klasę pochodną.

ReadToken(XmlReader)

Po przesłonięciu w klasie pochodnej deserializuje kod XML, do których odwołuje się określony czytnik XML, do tokenu typu przetworzonego przez klasę pochodną.

ReadToken(XmlReader, SecurityTokenResolver)

Po zastąpieniu w klasie pochodnej deserializuje kod XML przywołynięty przez określony czytnik XML do tokenu typu przetworzonego przez klasę pochodną przy użyciu określonego rozpoznawania tokenów.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)
TraceTokenValidationFailure(SecurityToken, String)

Śledzi zdarzenie niepowodzenia podczas walidacji tokenów zabezpieczających po włączeniu śledzenia.

TraceTokenValidationSuccess(SecurityToken)

Śledzi pomyślne sprawdzanie poprawności zdarzenia tokenów zabezpieczających po włączeniu śledzenia.

ValidateToken(SecurityToken)

Po zastąpieniu w klasie pochodnej sprawdza poprawność określonego tokenu zabezpieczającego. Token musi być typu przetworzonego przez klasę pochodną.

WriteKeyIdentifierClause(XmlWriter, SecurityKeyIdentifierClause)

Po przesłonięciu w klasie pochodnej serializuje określoną klauzulę identyfikatora klucza do formatu XML. Klauzula identyfikatora klucza musi być typu obsługiwanego przez klasę pochodną.

WriteToken(SecurityToken)

Po zastąpieniu w klasie pochodnej serializuje określony token zabezpieczający do ciągu. Token musi być typu przetworzonego przez klasę pochodną.

WriteToken(XmlWriter, SecurityToken)

Po przesłonięciu w klasie pochodnej serializuje określony token zabezpieczający na XML. Token musi być typu przetworzonego przez klasę pochodną.

Dotyczy

Zobacz też