BearbeitenWie implementiert man den Kerberos-Protokollübergang in Java? (S4U2Self)
Jetzt weiß ich, was ich brauche. Ich muss den Kerberos-Protokollübergang (S4U2Self) in Java implementieren. Es gibt Beispiele in .Net, aber keine für Java.
Es gibt diese dritte Parteibibliothek Quest Single Sign on for Java, die behauptet, das zu tun. Ich habe die JAR heruntergeladen und es sieht gut aus, aber ich würde lieber eine benutzerdefinierte Implementierung anstelle von jemand anderem Code verwenden (die bezahlt werden müssen).
Kann jemand irgendeinen Anfang geben, was getan werden muss? Irgendeine vorhandene offene Java API, um damit umzugehen?
Dank
Frage vor
Im Moment nur meine Anwendung kennt die Benutzer-ID, und ich brauche, dass Benutzer mit Kerberos zu authentifizieren, ein Service-Ticket erstellt und damit einen Dritten zugreifen Bedienung.
Meine Anwendung muss wie ein Proxy agieren und Anforderungen im Namen der bereitgestellten Benutzer-ID an den Drittanbieterdienst senden. Dies liegt daran, dass andere Anwendungen von Drittanbietern Einschränkungen unterliegen.
Ich kann das Passwort der gegebenen Benutzer-ID in keiner Weise erhalten, noch ein vorheriges Service-Ticket von der gleichen Benutzer-ID erhalten (um es weiterzuleiten). Ich weiß, die Anmeldeinformationen eines Admin-Benutzers.
Gibt es eine Möglichkeit, ein Service-Token nur mit der Benutzer-ID (Principal Name) zu erstellen?
Vielleicht eine Art Delegierung, in der ein vertrauenswürdiger Principal bereits authentifiziert ist und Servicetickets für andere Principals anfordert?
Dank
Wie wird der Drittanbieter-Dienst von Client-Code zugegriffen? Genau dafür steht der Windows-Identitätswechsel. Wenn der Dienst also nicht bereits für die Verwendung geschrieben ist, werden Sie wahrscheinlich nicht viel Glück haben. Ich denke nicht, dass S4U auf der Kundenseite helfen wird; es ermöglicht (hoch privilegierten) _services_, Identitätswechsel-Token ohne Passwörter und nur für ihren eigenen Gebrauch zu konstruieren (die Tokens können nicht auf anderen Maschinen verwendet werden). – shambulator
Danke, der Zugriff auf den Dienst des Drittanbieters erfolgt über HTTP-Anfragen. Sie haben einen SPI, der die Informationen zurückgibt, die der Client-Code (meine Anwendung) benötigt. Der Dienst unterstützt die Kerberos-Authentifizierung, das Problem besteht jedoch darin, dass je nach Benutzer, der die Anfrage ausführt, unterschiedliche Informationen zurückgegeben werden. – jmend