Programmgestützte JAAS-Anmeldung im Liberty-Anwendungsclient-Container konfigurieren
Der Liberty-Anwendungs-Client-Container kann so konfiguriert werden, dass eine programmgestützte JAAS-Anmeldung verwendet wird.
Vorbereitende Schritte
Informationen zu diesem Vorgang
- WSLogin-JAAS-Anmeldekonfiguration: Eine generische JAAS-Anmeldekonfiguration, die eine Anwendungsclient-Containeranwendung von Liberty verwenden kann, um die auf einer Benutzer-ID und einem Kennwort basierende Authentifizierung durchzuführen. Diese Konfiguration unterstützt jedoch den im Implementierungsdeskriptor des Clientanwendungsmoduls angegebenen CallbackHandler-Handler.
- ClientContainer-JAAS-Anmeldekonfiguration: Diese JAAS-Anmeldekonfiguration erkennt den CallbackHandler-Handler im Implementierungsdeskriptor des Clientanwendungsmoduls, sofern dieser angegeben ist.
Wenn im Implementierungsdeskriptor kein Handler angegeben ist, wird der über das Programm angegebene Handler verwendet.
Die in der JAAS-Anmeldekonfiguration angegebenen Anmeldemodule implementieren eine bestimmte Authentifizierungstechnologie. Ein Anmeldemodul kann Berechtigungsnachweise eines Benutzers über die Schnittstelle javax.security.auth.callback.CallbackHandler erfassen. Liberty stellt eine Implementierung ohne Eingabeaufforderungen der Schnittstelle CallbackHandler mit dem Namen com.ibm.websphere.security.auth.callback.WSCallbackHandlerImpl bereit. Diese Implementierung ermöglicht einem Anwendungsentwickler, die Berechtigungsnachweise direkt in der Anwendung anzugeben, sodass der Benutzer nicht zur Eingabe aufgefordert wird. Die CallbackHandler-Implementierung kann auf zwei Arten angegeben werden:
- Sie können Ihre Implementierung über das Programm als Argument für den Konstruktor
javax.security.auth.login.LoginContext angeben, z. B.:
LoginContext logincontext = new LoginContext("ClientContainer", new WSCallbackHandlerImpl("user", "password"));
- Sie können den Namen Ihrer Implementierung im Implementierungsdeskriptor des Clientanwendungsmoduls (application-client.xml) angeben, z. B.:
<callbackhandler>com.acme.callbackhandler.WSCallbackHandlerImpl/<callbackhandler>
- Sie können Ihre Implementierung über das Programm als Argument für den Konstruktor
javax.security.auth.login.LoginContext angeben, z. B.: