J2C-Zuordnungsmodule für Principals
Sie können ein eigenes J2C-Zuordnungsmodul entwickeln, wenn Ihre Anwendung ausgefeiltere Zuordnungsfunktionen benötigt. Das Anmeldemodul für die Zuordnung, das Sie möglicherweise in WebSphere Application Server Version 5.x entwickelt haben, wird in WebSphere Application Server Version 6.0.x und höher weiter unterstützt.
Sie können Anmeldemodule der Version 5.x in der Zuordnungskonfiguration für die Verbindungsfactory verwenden. Außerdem können sie in der Zuordnungskonfiguration für Verbindungsfactory-Referenzen des Ressourcenmanagers verwendet werden. Ein Anmeldemodul für die Zuordnung der Version 5.x kann keine angepassten Zuordnungseigenschaften verwenden.
Wenn Sie ein neues Anmeldemodul für die Zuordnung in Version 6.0.x und höher entwickeln möchten, verwenden Sie die Programmierschnittstelle, die in den folgenden Abschnitten beschrieben ist.
Anmeldemodul für die Zuordnung von Ressourcenreferenzen aufrufen
Die Klasse "com.ibm.wsspi.security.auth.callback.WSMappingCallbackHandler", die die Schnittstelle "javax.security.auth.callback.CallbackHandler"implementiert, ist ein neues WebSphere Application Service Provider Programming Interface (SPI) in WebSphere Application Server Version 6.0.x.
package com.ibm.wsspi.security.auth.callback;
public class WSMappingCallbackHandlerFactory {
private WSMappingCallbackHandlerFactory;
public static CallbackHandler getMappingCallbackHandler(
ManagedConnectionFactory mcf,
HashMap mappingProperties);
}
package com.ibm.wsspi.security.auth.callback;
public class WSMappingCallbackHandler implements CallbackHandler {
public WSMappingCallbackHandler(ManagedConnectionFactory mcf,
HashMap mappingProperties);
public void handle(Callback[] callbacks) throws IOException,
UnsupportedCallbackException;
}
com.ibm.wsspi.security.auth.callback.WSManagedConnectionFactoryCallback
com.ibm.wsspi.security.auth.callback.WSMappingPropertiesCallback
Die neuen Anmeldemodule verwenden die beiden neuen Callback-Typen, die in der Konfiguration der Referenzzuordnung für die Verbindungsfactory des Ressourcenmanager verwendet werden. Der Callback WSManagedConnectionFactoryCallback unterstützt eine ManagedConnectionFactory-Instanz, die Sie im Berechtigungsnachweis PasswordCredential definieren. Mit dieser Einstellung kann die ManagedConnectionFactory-Instanz bestimmen, ob eine PasswordCredential-Instanz für die Anmeldung bei der EIS-Zielinstanz verwendet wird. Der Callback "WSMappingPropertiesCallback" unterstützt eine Hashtabelle, die angepasste Zuordnungseigenschaften enthält. Die Eigenschaft "com.ibm.mapping.authDataAlias" kann verwendet werden, um den Authentifizierungsdateneintrag zu reservieren oder abzurufen.
com.ibm.ws.security.auth.j2c.WSManagedConnectionFactoryCallback
com.ibm.ws.security.auth.j2c.WSAuthDataAliasCallback
Anmeldemodul für die Zuordnung der Verbindungsfactory aufrufen
com.ibm.wsspi.security.auth.callback.WSManagedConnectionFactoryCallback
com.ibm.wsspi.security.auth.callback.WSMappingPropertiesCallback
Der Handler WSPrincipalMappingCallbackHandler und die beiden Callbacks sind in WebSphere Application Server Version 6 als veraltet gekennzeichnet.
Zuordnungseigenschaften für die Ressourcenreferenz an das Anmeldemodul für die Zuordnung übergeben
Sie können beliebige angepasste Eigenschaften an Ihr Anmeldemodul für die Zuordnung übergeben. Das folgende Beispiel zeigt, wie das Standardanmeldemodul für Zuordnung von WebSphere Application Server den Alias für die Authentifizierungsdaten ermittelt:
try {
wspm_callbackHandler.handle(callbacks);
String userID = null;
String password = null;
String alias = null;
wspm_properties = ((WSMappingPropertiesCallback)callbacks[1]).getProperties();
if (wspm_properties != null) {
alias = (String) wspm_properties.get(com.ibm.wsspi.security.auth.callback.Constants.MAPPING_ALIAS);
if (alias != null) {
alias = alias.trim();
}
}
} catch (UnsupportedCallbackException unsupportedcallbackexception) {
. . . // Fehlerbehandlung
MAPPING_ALIAS = "com.ibm.mapping.authDataAlias"
Wenn Sie in der Anzeige "Ressourcenreferenzen Ressourcen zuordnen" auf
klicken, erstellt die Administrationskonsole automatisch einen MAPPING_ALIAS-Eintrag mit dem Alias für Authentifizierungsdaten, der in den Zuordnungseigenschaften ausgewählt wurde. Falls Sie sich für die Erstellung einer eigenen Anmeldekonfiguration entscheiden und das Standardanmeldemodul für Zuordnung verwenden, müssen Sie diese Eigenschaft manuell in den Zuordnungseigenschaften für die Ressourcenfactory-Referenz definieren.In einem eigenen Anmeldemodul können Sie die Methode "WSSubject.getRunAsSubject" verwenden, um das Subjekt abzurufen, das die Identität des aktuellen Ausführungsthread enthält. Die Identität des aktuellen Ausführungsthreads wird als RunAs-Identität bezeichnet. Das RunAs-Subjekt enthält in der Regel einen Principal WSPrincipal aus der Principal-Gruppe und einen Berechtigungsnachweis WSCredential aus der Gruppe der öffentlichen Berechtigungsnachweise. Die Subjektinstanz, die vom Zuordnungsmodul erstellt wird, enthält eine Principal-Instanz aus der Principal-Gruppe und eine PasswordCredential- oder eine org.ietf.jgss.GSSCredential-Instanz aus der Gruppe privater Berechtigungsnachweise.
Die Schnittstelle GenericCredential, die in der Spezifikation Java Cryptography Architecture (JCA) Version 1.0 definiert ist, wird für die Spezifikation JCA Version 1.5 nicht mehr unterstützt.