Udostępnij za pośrednictwem


SecurityTokenHandler Klasa

Definicja

Abstrakcyjna klasa bazowa 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 klasy niestandardowe, które umożliwiają przetwarzanie prostych tokenów sieci Web (SWT). Aby uzyskać informacje na temat tego przykładu i innych przykładów dostępnych dla programu WIF i 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. Procedura obsługi tokenów zabezpieczających jest odpowiedzialna za:

  • Weryfikowanie tokenów zabezpieczających (SecurityToken) typu, który jest przeznaczony 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 do i z <wsse:SecurityTokenReference> elementów.

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

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

Program Windows Identity Foundation (WIF) dostarcza następujące procedury obsługi tokenów zabezpieczających gotowe do użycia:

Większość z 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.

Procedurę obsługi tokenów zabezpieczających można dodać lub usunąć z kolekcji programu obsługi tokenów, określając <elementy dodawania>, <usuwania> lub <czyszczenia> elementów w <elemecie securityTokenHandlers> w pliku konfiguracji. Do SecurityTokenHandlerConfiguration obiektu zawierającego ustawienia konfiguracji dla kolekcji programu obsługi można uzyskać dostęp za pośrednictwem Configuration właściwości, a kolekcja programu obsługi, do którego można uzyskać dostęp z ContainingCollection właściwości programu obsługi tokenów. 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 wybranej funkcji można zastąpić niektóre lub wszystkie te elementy członkowskie.

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ć.

Funkcje walidacji, serializacji i deserializacji są udostępniane za pośrednictwem właściwości lub metod, które wskazują, czy program obsługi może wykonywać określoną funkcję w połączeniu z metodą lub metodami implementujących funkcje. Poniższa lista zawiera pary właściwości lub metod wskazujących funkcjonalność przy użyciu metod implementujących tę funkcję:

Metody CreateToken i CreateSecurityTokenReference są wywoływane z potoku we wdrożeniach SecurityTokenService klasy .

Metoda DetectReplayedToken jest wywoływana 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 podać logikę w celu wykrywania ponownie odtwarzanych tokenów.

Konstruktory

Nazwa Opis
SecurityTokenHandler()

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

Właściwości

Nazwa Opis
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ę programu obsługi tokenów zawierającą bieżące wystąpienie.

TokenType

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

Metody

Nazwa Opis
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ć deserializowana przez to wystąpienie.

CanReadToken(String)

Zwraca wartość wskazującą, czy określony ciąg może zostać zdeserializowany 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 tą 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)

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

Equals(Object)

Określa, czy określony obiekt jest równy bieżącemu obiektowi.

(Odziedziczone po Object)
GetHashCode()

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

(Odziedziczone po Object)
GetTokenTypeIdentifiers()

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

GetType()

Pobiera Type bieżącego wystąpienia.

(Odziedziczone po Object)
LoadCustomConfiguration(XmlNodeList)

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

MemberwiseClone()

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

(Odziedziczone po Object)
ReadKeyIdentifierClause(XmlReader)

Po zastąpieniu w klasie pochodnej deserializuje kod XML przywoływane przez określony czytnik XML do klauzuli identyfikatora klucza, która odwołuje się do tokenu przetworzonego przez klasę pochodną.

ReadToken(String)

Po zastąpieniu w klasie pochodnej deserializuje określony ciąg do tokenu typu przetworzonego przez klasę pochodną.

ReadToken(XmlReader, SecurityTokenResolver)

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

ReadToken(XmlReader)

Po zastąpieniu w klasie pochodnej deserializuje kod XML przywoływane przez określony czytnik XML do tokenu typu przetworzonego przez klasę pochodną.

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 przetwarzanego przez klasę pochodną.

WriteKeyIdentifierClause(XmlWriter, SecurityKeyIdentifierClause)

Po zastąpieniu w klasie pochodnej serializuje określoną klauzulę identyfikatora klucza do 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 przetwarzanego 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 przetwarzanego przez klasę pochodną.

Dotyczy

Zobacz też