Unterstützung für Plug-in-fähige Token
Die Unterstützung für Plug-in-fähige Sicherheitstoken stellt Plug-in-Punkte für angepasste Typen von Sicherheitstoken bereit, darunter Tokengenerierung, Tokenvalidierung und Zuordnung einer Clientidentität zu einer WebSphere Application Server-Identität, die von der Java™-EE-Engine für Berechtigung (Java Platform, Enterprise Edition) verwendet wird. Darüber hinaus ist es in der modular aufgebauten Architektur für Tokengenerierung und -validierung möglich, XML-basierte Token in den Header von Web-Service-Nachrichten einzufügen und diese dann auf Empfängerseite zu validieren.
Der erweiterbare Mechanismus von WebSphere Application Server für die Anmeldezuordnung unterstützt die Verarbeitung neuer Typen von Authentifizierungstoken. WebSphere Application Server bietet eine modular aufgebaute Architektur für die Generierung von Sicherheitstoken auf der Seite des Nachrichtensenders und die Validierung des Sicherheitstoken auf der Seite des Nachrichtempfängers. Die Architektur basiert auf den JAAS-APIs (Java Authentication and Authorization Service).
- Verwenden Sie einen Konstruktor, der einen Benutzernamen (Zeichenfolge oder null, sofern nicht definiert), ein Kennwort (char[] oder null, sofern nicht definiert) und java.util.Map (leer, sofern keine Eigenschaften definiert sind) akzeptiert.
- Verwenden Sie handle()-Methoden, die die folgenden Implementierungen verarbeiten können:
- javax.security.auth.callback.NameCallback
- javax.security.auth.callback.PasswordCallback
- com.ibm.wsspi.wssecurity.auth.callback.XMLTokenCallback
- com.ibm.websphere.security.auth.callback.WSCredTokenCallbackImpl
- die Implementierung von javax.security.auth.callback.NameCallback oder von javax.security.auth.callback.PasswordCallback mit Daten gefüllt ist, wird ein Element <wsse:UsernameToken> generiert.
- com.ibm.websphere.security.auth.callback.WSCredTokenCallbackImpl mit Daten gefüllt ist, wird das Element <wsse:BinarySecurityToken> aus der Implementierung von com.ibm.websphere.security.auth.callback.WSCredTokenCallbackImpl erstellt.
- com.ibm.wsspi.wssecurity.auth.callback.XMLTokenCallback mit Daten gefüllt ist, wird basierend auf dem von XMLTokenCallback zurückgegebenen DOM-Element (Document Object Model) ein XML-basiertes Token erstellt.
Verschlüsseln Sie das Tokenbyte mit dem Sicherheitshandler und nicht mit der Implementierung javax.security.auth.callback.CallbackHandler.
Sie können die Schnittstelle "com.ibm.wsspi.wssecurity.auth.callback.CallbackHandlerFactory" implementieren, das eine Factory für die Instanziierung der javax.security.auth.callback.CallbackHandler-Implementierung ist. Für eine eigene Implementierung müssen Sie die Schnittstelle "javax.security.auth.callback.CallbackHandler" verwenden. Die WS-Security-Laufzeit instanziiert die Implementierungsklasse der Factory und übergibt die Authentifizierungsdaten aus dem Header der Web-Service-Nachricht mit Setter-Methoden an die Factory-Klasse. Anschließend ruft die WS-Security-Laufzeit die Methode newCallbackHandler() der Implementierungsklasse der Factory auf, um eine Instanz des Objekts javax.security.auth.CallbackHandler anzufordern. Das Objekt wird an die JAAS-Anmeldekonfiguration übergeben.
public interface com.ibm.wsspi.wssecurity.auth.callback.CallbackHandlerFactory {
public void setUsername(String username);
public void setRealm(String realm);
public void setPassword(String password);
public void setHashMap(Map properties);
public void setTokenByte(byte[] token);
public void setXMLToken(Element xmlToken);
public CallbackHandler newCallbackHandler();