MachineKeySessionSecurityTokenHandler Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Verarbeitet Sitzungstoken mithilfe von Signatur- und Verschlüsselungsschlüsseln, die im ASP.NET-Element <machineKey> in einer Konfigurationsdatei angegeben sind.
public ref class MachineKeySessionSecurityTokenHandler : System::IdentityModel::Tokens::SessionSecurityTokenHandler
public class MachineKeySessionSecurityTokenHandler : System.IdentityModel.Tokens.SessionSecurityTokenHandler
type MachineKeySessionSecurityTokenHandler = class
inherit SessionSecurityTokenHandler
Public Class MachineKeySessionSecurityTokenHandler
Inherits SessionSecurityTokenHandler
- Vererbung
Beispiele
Im folgenden XML-Code wird gezeigt, wie Sie das ASP.NET <machineKey>-Element in der Konfiguration verwenden, um die Signier- und Verschlüsselungsschlüssel explizit anzugeben. Das <machineKey> Element wird unter dem <system.web> Element in einer Konfigurationsdatei angegeben.
<machineKey compatibilityMode="Framework45" decryptionKey="CC510D … 8925E6" validationKey="BEAC8 … 6A4B1DE" />
Der folgende XML-Code zeigt, wie sie MachineKeySessionSecurityTokenHandler einer Tokenhandlerauflistung hinzugefügt werden. Der Standardwert SessionSecurityTokenHandler wird zuerst aus der Auflistung entfernt. Tokenhandler werden unter dem <SecurityTokenHandlers-Element> konfiguriert.
<securityTokenHandlers>
<remove type="System.IdentityModel.Tokens.SessionSecurityTokenHandler, System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<add type="System.IdentityModel.Services.Tokens.MachineKeySessionSecurityTokenHandler, System.IdentityModel.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</securityTokenHandlers>
Hinweise
Standardmäßig verwendet die SessionSecurityTokenHandler Klasse die ProtectedDataCookieTransform Klasse, die die Datenschutz-API (DPAPI) verwendet, um das Sitzungstoken zu schützen. Die DPAPI bietet Schutz mithilfe der Benutzer- oder Computeranmeldeinformationen und speichert die Schlüsseldaten im Benutzerprofil. Dies bedeutet, dass ein auf einem Computer signiertes und verschlüsseltes Sitzungstoken nicht auf einem anderen Computer überprüft oder entschlüsselt werden kann.
Im Gegensatz dazu verwendet die MachineKeySessionSecurityTokenHandler Klasse die MachineKeyTransform Klasse, die die Sitzungscookiedaten mithilfe des kryptografischen Materials schützt, das <machineKey> im Element in der Konfigurationsdatei angegeben ist. Dies bedeutet, dass dieselben Schlüssel (und Sitzungstoken) auf mehreren Computern verwendet werden können. Dies ist besonders wichtig, wenn eine Anwendung in einer Webfarm bereitgestellt wird. Weitere Informationen zur Verwendung von Windows Identity Foundation zum Schutz von Anwendungen, die in einer Webfarm bereitgestellt werden, finden Sie unter WIF und Webfarmen.
Konfigurieren Sie die Anwendung so, dass MachineKeySessionSecurityTokenHandler sie verwendet wird, indem Sie sie der Tokenhandlerauflistung hinzufügen. Sie müssen zuerst den SessionSecurityTokenHandler (oder von der Klasse abgeleiteten Handler) aus der SessionSecurityTokenHandler Tokenhandlerauflistung entfernen, wenn ein solcher Handler vorhanden ist. Dies liegt daran, dass MachineKeySessionSecurityTokenHandler eine Ableitung von SessionSecurityTokenHandler und einer Tokenhandlerauflistung nicht mehrere Handler eines bestimmten Typs enthalten kann.
Konstruktoren
| Name | Beschreibung |
|---|---|
| MachineKeySessionSecurityTokenHandler() |
Initialisiert eine neue Instanz der MachineKeySessionSecurityTokenHandler-Klasse. |
| MachineKeySessionSecurityTokenHandler(TimeSpan) |
Initialisiert eine neue Instanz der MachineKeySessionSecurityTokenHandler Klasse mit der angegebenen Standardtokenlebensdauer. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| CanValidateToken |
Ruft einen Wert ab, der angibt, ob dieser Handler die Überprüfung von Token vom Typ SessionSecurityTokenunterstützt. (Geerbt von SessionSecurityTokenHandler) |
| CanWriteToken |
Ruft einen Wert ab, der angibt, ob dieser Handler Token vom Typ SessionSecurityTokenschreiben kann. (Geerbt von SessionSecurityTokenHandler) |
| Configuration |
Dient zum Abrufen oder Festlegen des SecurityTokenHandlerConfiguration Objekts, das die Konfiguration für die aktuelle Instanz bereitstellt. (Geerbt von SecurityTokenHandler) |
| ContainingCollection |
Ruft die Tokenhandlerauflistung ab, die die aktuelle Instanz enthält. (Geerbt von SecurityTokenHandler) |
| CookieElementName |
Ruft den Namen für das Cookie-Element ab. (Geerbt von SessionSecurityTokenHandler) |
| CookieNamespace |
Ruft den Namespace für das Cookie-Element ab. (Geerbt von SessionSecurityTokenHandler) |
| TokenLifetime |
Ruft die Tokenlebensdauer ab oder legt sie fest. (Geerbt von SessionSecurityTokenHandler) |
| TokenType |
Ruft den Typ der Token ab, die dieser Handler verarbeitet. (Geerbt von SessionSecurityTokenHandler) |
| Transforms |
Ruft die Transformationen ab, die auf das Cookie angewendet werden. (Geerbt von SessionSecurityTokenHandler) |
Methoden
| Name | Beschreibung |
|---|---|
| ApplyTransforms(Byte[], Boolean) |
Wendet die von der Transforms Eigenschaft angegebenen Transformationen auf das Codieren oder Decodieren des angegebenen Cookies an. (Geerbt von SessionSecurityTokenHandler) |
| CanReadKeyIdentifierClause(XmlReader) |
Gibt einen Wert zurück, der angibt, ob das vom angegebenen XML-Reader referenzierte XML-Element eine Schlüsselbezeichnerklausel ist, die von dieser Instanz deserialisiert werden kann. (Geerbt von SecurityTokenHandler) |
| CanReadToken(String) |
Gibt einen Wert zurück, der angibt, ob die angegebene Zeichenfolge als Token des Typs, der von dieser Instanz verarbeitet wird, deserialisiert werden kann. (Geerbt von SecurityTokenHandler) |
| CanReadToken(XmlReader) |
Gibt einen Wert zurück, der angibt, ob der Leser an einem |
| CanWriteKeyIdentifierClause(SecurityKeyIdentifierClause) |
Gibt einen Wert zurück, der angibt, ob die angegebene Schlüsselbezeichnerklausel von dieser Instanz serialisiert werden kann. (Geerbt von SecurityTokenHandler) |
| CreateSecurityTokenReference(SecurityToken, Boolean) |
Wenn sie in einer abgeleiteten Klasse außer Kraft gesetzt wird, wird der Sicherheitstokenverweis für von dieser Klasse verarbeitete Token erstellt. Diese Methode wird in der Regel von einem Sicherheitstokendienst (Security Token Service, STS) aufgerufen. (Geerbt von SecurityTokenHandler) |
| CreateSessionSecurityToken(ClaimsPrincipal, String, String, DateTime, DateTime) |
Erstellt einen SessionSecurityToken basierend auf dem angegebenen Anspruchsprinzipal und zeitbereich, in dem das Token gültig ist. (Geerbt von SessionSecurityTokenHandler) |
| CreateToken(SecurityTokenDescriptor) |
Erstellt ein Sicherheitstoken basierend auf dem angegebenen Tokendeskriptor. (Geerbt von SessionSecurityTokenHandler) |
| DetectReplayedToken(SecurityToken) |
Wenn sie in einer abgeleiteten Klasse überschrieben wird, wird eine Ausnahme ausgelöst, wenn das angegebene Token als wiedergegeben erkannt wird. (Geerbt von SecurityTokenHandler) |
| Equals(Object) |
Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht. (Geerbt von Object) |
| GetHashCode() |
Dient als Standardhashfunktion. (Geerbt von Object) |
| GetTokenTypeIdentifiers() |
Ruft die Tokentyp-URIs für die Tokentypen ab, die von diesem Handler verarbeitet werden können. (Geerbt von SessionSecurityTokenHandler) |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| LoadCustomConfiguration(XmlNodeList) |
Lädt die benutzerdefinierte Konfiguration aus XML. (Geerbt von SessionSecurityTokenHandler) |
| MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| ReadKeyIdentifierClause(XmlReader) |
Wenn sie in einer abgeleiteten Klasse überschrieben wird, wird der XML-Code, auf den vom angegebenen XML-Reader verwiesen wird, auf eine Schlüsselbezeichnerklausel zurückgestellt, die auf ein von der abgeleiteten Klasse verarbeitetes Token verweist. (Geerbt von SecurityTokenHandler) |
| ReadToken(Byte[], SecurityTokenResolver) |
Liest den SessionSecurityToken Datenstrom von Bytes mithilfe des angegebenen Tokenlösers aus. (Geerbt von SessionSecurityTokenHandler) |
| ReadToken(String) |
Wenn sie in einer abgeleiteten Klasse außer Kraft gesetzt wird, wird die angegebene Zeichenfolge auf ein Token des Typs, der von der abgeleiteten Klasse verarbeitet wird, deserialisiert. (Geerbt von SecurityTokenHandler) |
| ReadToken(XmlReader, SecurityTokenResolver) |
Liest die SessionSecurityToken Verwendung des angegebenen XML-Readers und des Tokenlösers. (Geerbt von SessionSecurityTokenHandler) |
| ReadToken(XmlReader) |
Liest die SessionSecurityToken Verwendung des angegebenen XML-Readers. (Geerbt von SessionSecurityTokenHandler) |
| SetTransforms(IEnumerable<CookieTransform>) |
Legt die Transformationen fest, die auf Cookies angewendet werden. (Geerbt von SessionSecurityTokenHandler) |
| ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |
| TraceTokenValidationFailure(SecurityToken, String) |
Verfolgt das Fehlerereignis während der Überprüfung von Sicherheitstoken nach, wenn die Ablaufverfolgung aktiviert ist. (Geerbt von SecurityTokenHandler) |
| TraceTokenValidationSuccess(SecurityToken) |
Verfolgt die erfolgreiche Überprüfung des Sicherheitstokenereignisses, wenn die Ablaufverfolgung aktiviert ist. (Geerbt von SecurityTokenHandler) |
| ValidateSession(SessionSecurityToken) |
Bestimmt, ob die dem angegebenen Token zugeordnete Sitzung noch gültig ist. Die Gültigkeit wird durch Überprüfen und ValidFromValidTo Eigenschaften des angegebenen Tokens bestimmt. Eine Ausnahme wird ausgelöst, wenn die Sitzung nicht mehr gültig ist. (Geerbt von SessionSecurityTokenHandler) |
| ValidateToken(SecurityToken) |
Überprüft das angegebene Token und gibt seine Ansprüche zurück. (Geerbt von SessionSecurityTokenHandler) |
| ValidateToken(SessionSecurityToken, String) |
Überprüft das angegebene Sitzungstoken und gibt seine Ansprüche zurück. (Geerbt von SessionSecurityTokenHandler) |
| WriteKeyIdentifierClause(XmlWriter, SecurityKeyIdentifierClause) |
Wenn sie in einer abgeleiteten Klasse überschrieben wird, serialisiert die angegebene Schlüsselbezeichnerklausel in XML. Die Schlüsselbezeichnerklausel muss vom Typ sein, der von der abgeleiteten Klasse unterstützt wird. (Geerbt von SecurityTokenHandler) |
| WriteToken(SecurityToken) |
Beim Überschreiben in einer abgeleiteten Klasse serialisiert das angegebene Sicherheitstoken in eine Zeichenfolge. Das Token muss vom Typ sein, der von der abgeleiteten Klasse verarbeitet wird. (Geerbt von SecurityTokenHandler) |
| WriteToken(SessionSecurityToken) |
Serialisiert das angegebene Token in ein Bytearray. (Geerbt von SessionSecurityTokenHandler) |
| WriteToken(XmlWriter, SecurityToken) |
Serialisiert das angegebene Token mithilfe des angegebenen XML-Writers. (Geerbt von SessionSecurityTokenHandler) |