WebSphere JAX-WS Cross-Cell-Authentifizierung

Wollen wir bauen eine front-end-web-Anwendung zur Nutzung der WPS' HumanTask API mithilfe von JAX-WS. Diese web-Anwendung sollte in der Lage sein, um die Abfrage Aktueller Aufgaben für einen bestimmten Benutzer, behaupten, Aufgaben werden nicht in Anspruch genommen, die zuvor von einem anderen Benutzer, Aufgaben und so weiter. Diese web-Anwendung bereitgestellt wird, die auf eine 7.0 WAR auf eine andere Zelle als die Bereitstellung der HumanTask service (Derzeit sind wir mit einem anderen WPS-Instanz, wie das WAR, aber irgendwann ist es ein einfaches WAR, ohne die WPS-Funktionen). Wir synchronisiert LTPA-generation-Tasten mit Hilfe der folgenden Schritte aus:

  1. Anmeldung zu einer Zelle
  2. Gehen Sie zu "Sicherheit" > "Globale Sicherheit". Unter "Authentifizierung" klicken Sie auf "LTPA"
  3. Unter "Cross-cell single-sign-on"
    1. Ein Passwort zu erstellen
    2. Bestätigen Sie das Kennwort
    3. Input der name der Datei, in die die LTPA-Schlüssel exportiert werden
    4. Klicken Sie auf "Export keys"
  4. Abmelden
  5. Kopieren Sie die generierte Datei auf den anderen server
  6. Login auf die andere Zelle
  7. Gehen Sie zu "Sicherheit" > "Globale Sicherheit". Unter "Authentifizierung" klicken Sie auf "LTPA"
  8. Unter "Cross-cell single-sign-on"
    1. Eingabe altes Kennwort
    2. Kennwort bestätigen
    3. Input der name der Datei mit den exportierten LTPA-Schlüssel
    4. Klicken Sie auf "Import keys"
  9. Server-Neustart

Entwickelten wir eine einfache web-Anwendung mit GWT als proof-of-concept mit einem einfachen UI-und web-service-client verbraucht die HumanTask JAX-WS-service. Diese web-Anwendung ist geschützt hinter einem Siteminder-Authentifizierungsserver (bei der ersten Eingabe der web-Anwendung Siteminder-agent leitet auf eine web-form, die nach Anmeldeinformationen). Web-service-client wurde entwickelt folgenden JAX-WS-standards, keine weiteren Abhängigkeiten Hinzugefügt wurden, setzen wir auf WebSphere JAX-WS-Implementierung (Apache Axis2). Nach der Implementierung getestet haben wir zwei Szenarien ohne Glück:

Szenario A:

  • Standardmäßig WPS' HumanTask service-provider angeschlossen ist, um policy set "bit-Web-Service" mit den Standard-Richtlinien verbindlich und Politik setzen Dateifreigabe deaktiviert.
  • Wir konfigurieren unsere HumanTask service-client zu verwenden dieselbe Politik gesetzt, als Dienstleister.
  • Anmelden, um benutzerdefinierte web-Anwendung. Beim Versuch der Abfrage aktuellen Aufgaben, die wir erhalten folgende Ausnahme:

    com.ibm.wsspi.wssecurity.core.SoapSecurityException: security.wssecurity.WSSContextImpl.s02: com.ibm.websphere.security.WSSecurityException: Exception org.apache.axis2.AxisFault: CWWSS6521E: The Login failed because of an exception: javax.security.auth.login.LoginException: Login Failure: all modules ignored ocurred while running action: com.ibm.ws.wssecurity.handler.WSSecurityGeneratorHandler$2@6fef6fef
    

Keine Fehlermeldung auf service provider-Seite.

Szenario B:

  • Ändern, WPS' HumanTask service-provider-Konfiguration Aktivierung policy set Austausch über HTTP GET. Diese Weise service provider WSDL enthält Informationen über die policy gesetzt werden.
  • Change policy set-Konfiguration im service-client zu erhalten, policy set von Anbieter HTTP GET.
  • Anmelden, um benutzerdefinierte web-Anwendung. Beim Versuch der Abfrage aktuellen Aufgaben, die wir erhalten folgende Ausnahme:

    javax.xml.ws.soap.SOAPFaultException: security.wssecurity.WSSContextImpl.s02: com.ibm.websphere.security.WSSecurityException: Exception org.apache.axis2.AxisFault: CWWSS6521E: The Login failed because of an exception: javax.security.auth.login.LoginException: Login module com.ibm.ws.wssecurity.wssapi.token.impl.UNTConsumeLoginModule login() method returned false ocurred while running action: com.ibm.ws.wssecurity.handler.WSSecurityConsumerHandler$1@54a054a0
    

Bevor der Punkt erreicht, wo bisherige Ausnahme gemeldet wird, sehen wir folgende Warnung bei service-client-Protokolle:

CWWSS7053W: No web services security custom bindings were found. Default bindings will be used.

Service provider logs können wir erkennen folgende Fehlermeldung:

CWWSS5514E: An exception while processing WS-Security message.

Und eine Reihe von FFDCs generiert Berichterstattung die gleiche Ausnahme haben wir bei der service-client-Seite.

Jemanden, der uns helfen könnte wäre Super!!!

Schreibe einen Kommentar