linde
Elite Observer

Anbindung einer externen Benutzerverwaltung

Hallo,

ich muss in einem Projekt eine externe Benutzerverwaltung anbinden. Es gibt da einen Policy-Server, der Username und Passwort prüft und einen Webservice, der mir die Userdaten zurückliefert, u.a. auch Gruppen, die ich dann als externe Gruppen im FirstSpirit Projekt anlegen muss.

Ich müsste meinem Verständnis nach ein jaas-Modul schreiben aber wie geht das?

Frank Lindert

9 Replies
isenberg
I'm new here

Zur Zeit kann ein externes JAAS-Modul nur über folgende Kombination aus Umwegen in FS integriert werden:

  • Anforderung der Quelltexte bereits existierender FS-JAAS-Module bei e-Spirit (z.B. für SAP-Portal-SSO oder Kerberos-SNPNEGO).
  • Es wird eine kleine Wrapper-Klasse benötigt, die Zusatzinformationen innerhalb des JAAS-Anmeldevorgangs weiterleitet.
  • Es existiert keine API-Funktion, die in dieser Wrapper-Klasse verwendet werden könnte, somit ist nicht sichergestellt, dass die Wrapper-Klasse nach einem FS-Update noch funktioniert, weil sich nicht-API-Funktionen auch innerhalb einer Minor-Version ohne Ankündigung ändern können.
  • Allgemeine Hinweise beachten, die gelten, falls nicht-API-Funktionen innerhalb von FS verwendet werden.
0 Kudos

Gibt es hier (ausser dem Quelltext) irgendeine Art von Dokumentation oder Schnittstellenbeschreibung?

0 Kudos

Es handelt sich hier nicht um Funktionen der FirstSpirit-API. Weitere Dokumentation existiert nicht. Der Quelltext des SAP- oder Kerberos-JAAS-Moduls umfasst aber nur ca. 50 Zeilen und es wird nur 1 Funktion aus FirstSpirit verwendet.

0 Kudos

Ich würde gern an den Thread anknüpfen, da ich denselben Anwendungsfall wie Herr Lindert habe und noch folgende Fragen dazu hätte:

  • Wie wird die von mir erstellte Klasse eingebunden, so dass sie der Server findet?
  • Könnten Sie ein Beispiel für die oben erwähnte Wrapper-Klasse, "die Zusatzinformationen innerhalb des JAAS-Anmeldevorgangs weiterleitet", zur Verfügung stellen oder mir den relevanten Code aus SAP-Portal-SSO zukommen lassen?

Herzlichen Dank

Georg Stach

0 Kudos

Ich kann hier keine Quelltexte von FirstSpirit veröffentlichen. Wenden Sie sich bitte an den zuständigen Projektleiter von e-Spirit oder den e-Spirit-Partner oder unseren Helpdesk.

0 Kudos

Hallo Herr Isenberg,

das mache ich.

Könnten Sie mir zur ersten Frage denn indes Auskunft geben?

viele Grüße

0 Kudos

Allgemein können Klassen externer Java-Packages über FirstSpirit-Module eingebracht werden. In diesem speziellen Fall, Ticket-basierte Anmeldung in der Web-Anwendung fs4root, also außerhalb der FirstSpirit-Projekte, kann es notwendig sein, die Klassen in firstspirit4/shared/lib/eigenes.jar unterzubringen, von wo aus sie beim Server-Start automatisch geladen werden. Falls ein externer Application-Server eingesetzt wird, muss die Klasse in dessen CLASSPATH eingetragen werden, beim Tomcat über tomcat/conf/catalina.properties.

prima, das klingt einleuchtend und machbar. Danke für die schnelle Antwort! Smiley Happy

0 Kudos

Es ist in diesem Fall notwendig, das jar-File in shared/lib zu legen. Ansonsten kann man sich gar  nicht mehr anmelden weil eine ClassNotFound Exception kommt.

Es ist möglich, aus dem eigenen Loginmodul heraus einen Service aufzurufen, der aus einem FirstSpirit-Modul kommt, dann kann man diesen Teil des Logins mit normalen Mitteln eines FirstSpirit Moduls einspielen und konfigurieren. Das funktioniert ganz gut. Das Interface des Service muss dann aber auch in dem jar-File unter shared/lib liegen.

Man kann als Alternative auch die Konfiguration in die fs-server.conf schreiben und auslesen, uns erschien hier die Modul-Variante einfacher wartbar.