Search the FirstSpirit Knowledge Base
Hallo zusammen,
in einem Kundenprojekt soll es eine Schnittstelle zu einem anderen System geben mit folgendem architektonischen Hintergrund.
Redakteure melden sich per SSO (Kerberos) an. (Hier wäre noch die Fragestellung offen, ob FirstSpirit mit Kerberos-Token zurechtkommt, die größer 12kb sind).
Im Java-Client kann der Kunde anhand eines Parameters Dokumente aus einem anderen System anfordern, die in den Mediastore wandern sollen.
Diese Schnittstelle ist im Prinzip eine Executable, die eine XML übergibt, in der das Kerberos-Zertifikat enthalten ist; (es soll verhindert werden, daß Redakteure Dokumente anfordern, für die sie nicht berechtigt sind..
unsere Aufgabe ist es also:
Ein Auftrag anlegen, in der die XML erzeugt wird und eine executable gestartet wird;dieser Auftrag kann aus dem Javaclient ausgelöst werden.
Meine Frage ist: habe ich eine Chance, dass es funktionieren kann ?
Für die Beurteilung fehlt mir hierzu die Kerberos-Expertise und die Information, inwiewit ich das Zertifikat über den Javaclient an den Server durchschleifen könnte.. ?
Danke für eine Info & Gruß,
Michael Baginski
Hallo Michael,
laut meinem Verständnis von Kerberos wird das nicht funktionieren, da zwischen Client und Server ein Handshake gemacht wird. Das Kerberos-Ticket kannst du nicht einfach wiederverwenden und dich als dieser Client ausgeben.
Da sich die Redakteure über Kerberos an FirstSpirit anmelden, sind sie doch eigentlich schon authentifiziert. Den aktuellen Benutzer kannst du ermitteln. Vielleicht kannst du also einen technischen Account für die Kommunikation nutzen und dann die Berechtigungen selbst prüfen.
Viele Grüße
Christoph
Dazu müsste man ein eigenes Kerberos-Loginmodul schreiben, was dann anstelle des e-Spirit-Moduls in fs-jaas.conf eingetragen wird. Dieses Modul muss dann das Ticket so speichern, dass es beim Zugriff auf die Mediendokumente verfügbar ist. Beim erstmaligen Anfordern des Tickets über das Loginmodul muss dann ein delegierbares Tickets angefordert werden. Damit kann dann ein Ticket für einen anderen Netzdienste, eben den Mediendienst angefordert werden. Normalerweise wird ein Browser aus Sicherheitsgründen vermutlich kein delegierbares Ticket herausgeben. Beim Firefox muss dazu zusätzlich "negotiate-auth.delegation-uris" bei about:config eingetragen werden.
Theoretisch sollte das Konzept also umsetzbar sein.
Hallo Holger,
danke schon mal für die Antwort, ich komme möglicherweise darauf zurück;- je nach dem wie der Kunde entscheidet (Aufwand, gäbe es noch andere Möglichkeiten,den Anwender serverseitig anzumelden..); meine Idee wäre noch, den Usernamen mit einem Zeitstempel zu versehen und das ganze zu codieren; wenn auf deren Seite es wieder entschlüsselt wird, könnte es ggf. ausreichen..