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.

Übergang: Migrieren Sie Ihr Anmeldemodul für die Zuordnung der Version 5.x auf das neue Programmiermodell, um die neuen angepassten Eigenschaften und die Isolation der Zuordnungskonfiguration auf Anwendungsebene nutzen zu können. Beachten Sie bitte, dass Anmeldemodule für die Zuordnung, die mit WebSphere Application Server Version 6.0.x entwickelt werden, nicht in der veralteten Zuordnungskonfiguration für die Ressourcenverbindungsfactory verwendet werden können.

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.

Der Anwendungscode verwendet die Helper-Klasse "com.ibm.wsspi.security.auth.callback.WSMappingCallbackHandlerFactory", um CallbackHandler-Objekte abzurufen:
package com.ibm.wsspi.security.auth.callback;

public class WSMappingCallbackHandlerFactory {
		private WSMappingCallbackHandlerFactory;
		public static CallbackHandler getMappingCallbackHandler(
ManagedConnectionFactory mcf,
HashMap mappingProperties);
}
Die Klasse "WSMappingCallbackHandler" implementiert die Schnittstelle "CallbackHandler":
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; 
}
Der Handler WSMappingCallbackHandler kann zwei neue Callback-Typen verwalten, die in Version 6.0.x definiert sind:
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.

Anmerkung: In den vorherigen Beispielen wird der MCF-Wert im PasswordCredential gesetzt.
Das Handle "WSMappingCallbackHandle" von WebSphere Application Server unterstützt weiterhin die beiden Callbacktypen der WebSphere Application Server Version 5.x, die von älteren Anmeldemodulen für die Zuordnung verwendet werden können. Die beiden definierten Callbacks können nur von Anmeldemodulen verwendet werden, die die Anmeldekonfiguration in der Verbindungsfactory verwendet. Für die Abwärtskompatibilität übergibt WebSphere Application Server Version 6.0.x und höher den Alias für die Authentifizierungsdaten, sofern dieser in der Liste der angepassten Eigenschaften unter der Eigenschaft "com.ibm.mapping.authDataAlias" definiert ist, mit dem Callback "WSAuthDataAliasCallback" an die Anmeldemodule der Version 5.x:
com.ibm.ws.security.auth.j2c.WSManagedConnectionFactoryCallback
com.ibm.ws.security.auth.j2c.WSAuthDataAliasCallback

Anmeldemodul für die Zuordnung der Verbindungsfactory aufrufen

Die Klasse "WSPrincipalMappingCallbackHandler" unterstützt zwei Callbacktypen:
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
Das Standardanmeldemodul für die Zuordnung in WebSphere Application Server Version 6.0.x erfordert ein Zuordnungsmodul für die Definition des Alias für die Authentifizierungsdaten. Die Zuordnungseigenschaft MAPPING_ALIAS ist in der Datei "Constants.class" im Paket "com.ibm.wsspi.security.auth.callback" definiert.

MAPPING_ALIAS    =   "com.ibm.mapping.authDataAlias"

Wenn Sie in der Anzeige "Ressourcenreferenzen Ressourcen zuordnen" auf Standardmethode verwenden > Authentifizierungsdateneintrag auswählen 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.


Symbol, das den Typ des Artikels anzeigt. Referenzartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rsec_pluginj2c
Dateiname:rsec_pluginj2c.html