Gewusst wie: Erstellen eines benutzerdefinierten Sicherheitstokenanbieters
In diesem Thema wird beschrieben, wie Sie neue Tokentypen mit einem benutzerdefinierten Sicherheitstokenanbieter erstellen und den Anbieter in einen benutzerdefinierten Sicherheitstoken-Manager integrieren.
Tipp
Erstellen Sie einen benutzerdefinierten Tokenanbieter, wenn die im System.IdentityModel.Tokens-Namespace gefundenen vom System bereitgestellten Token Ihren Anforderungen nicht entsprechen.
Der Sicherheitstokenanbieter erstellt eine Sicherheitstokendarstellung basierend auf Daten in den Client- oder Dienstanmeldeinformationen. Um den benutzerdefinierten Sicherheitstokenanbieter in Windows Communication Foundation (WCF)-Sicherheit zu verwenden, müssen Sie benutzerdefinierte Anmeldeinformationen und Sicherheitstoken-Managerimplementierungen erstellen.
Weitere Informationen über benutzerdefinierte Anmeldeinformationen und Sicherheitstoken-Manager finden Sie unter Gewusst wie: Erstellen von benutzerdefinierten Client- und Dienstanmeldeinformationen.
Weitere Informationen über Anmeldeinformationen, Sicherheitstoken-Manager sowie Anbieter- und Authentifiziererklassen finden Sie unter Sicherheitsarchitektur.
So erstellen Sie einen benutzerdefinierten Sicherheitstokenanbieter
Definieren Sie eine neue Klasse, die von der SecurityTokenProvider-Klasse abgeleitet ist.
Implementieren Sie die GetTokenCore-Methode. Die Methode ist für die Erstellung und die Rückgabe einer Instanz des Sicherheitstokens verantwortlich. Im folgenden Beispiel wird eine Klasse mit der Bezeichnung
MySecurityTokenProvider
erstellt und die GetTokenCore-Methode überschrieben, um eine Instanz der X509SecurityToken-Klasse zurückzugeben. Der Klassenkonstruktor erfordert eine neue Instanz der X509Certificate2-Klasse.
So integrieren Sie einen benutzerdefinierten Sicherheitstokenanbieter in einen benutzerdefinierten Sicherheitstoken-Manager
Definieren Sie eine neue Klasse, die von der SecurityTokenManager-Klasse abgeleitet ist. (Das nachfolgende Beispiel ist von der ClientCredentialsSecurityTokenManager-Klasse abgeleitet, die von der SecurityTokenManager-Klasse abgeleitet ist.)
Überschreiben Sie die CreateSecurityTokenProvider-Methode, wenn sie noch nicht überschrieben ist.
Die CreateSecurityTokenProvider-Methode ist für die Rückgabe einer Instanz der SecurityTokenProvider-Klasse verantwortlich, entsprechend dem SecurityTokenRequirement-Parameter, der an die Methode vom WCF-Sicherheitsframework übergeben wurde. Ändern Sie die Methode zur Rückgabe der Implementierung des benutzerdefinierten Sicherheitstokenanbieters (die mit dem vorherigen Verfahren erstellt wurde), wenn die Methode mit einem entsprechenden Sicherheitstokenparameter aufgerufen wird. Weitere Informationen zum Sicherheitstoken-Manager finden Sie unter Gewusst wie: Erstellen von benutzerdefinierten Client- und Dienstanmeldeinformationen.
Fügen Sie benutzerdefinierte Logik zur Methode hinzu, um diese zu befähigen, den benutzerdefinierten Sicherheitstokenanbieter basierend auf dem SecurityTokenRequirement-Parameter zurückzugeben. Im folgenden Beispiel wird der benutzerdefinierte Sicherheitstokenanbieter zurückgegeben, wenn die Tokenanforderungen erfüllt werden. Die Anforderungen umfassen ein X.509-Sicherheitstoken und die Nachrichtenrichtung (die das Token für die Nachrichtenausgabe verwendet). In allen anderen Fällen ruft der Code die Basisklasse ab, um das vom System bereitgestellte Verhalten für andere Sicherheitstokenanforderungen zu verwalten.
Beispiel
Im Folgenden wird eine vollständige SecurityTokenProvider-Implementierung zusammen mit einer entsprechenden SecurityTokenManager-Implementierung gezeigt.
Siehe auch
Referenz
SecurityTokenProvider
SecurityTokenRequirement
SecurityTokenManager
X509SecurityToken
Konzepte
Gewusst wie: Erstellen von benutzerdefinierten Client- und Dienstanmeldeinformationen
Gewusst wie: Erstellen eines benutzerdefinierten Sicherheitstokenauthentifizierers
Sicherheitsarchitektur