Kerberos-Authentifizierung in Java - bedeutet „Login“ -Aktion in java gleich zu „kinit“?

StackOverflow https://stackoverflow.com/questions/1037009

  •  10-07-2019
  •  | 
  •  

Frage

I GSSAPI in Java anmelden, um zu einem LDAP-Server mit Kerberos-Authentifizierung bin mit. Ich bin ein Neuling auf Kerberos, so tut mir leid, wenn dies eine offensichtliche Frage, aber ich kann nichts klar genug im Internet finden.

ich die folgenden Schritte aus:

  1. Definieren Sie Login-Konfiguration, indem Sie die Systemeigenschaft "java.security.auth.login.config" in die Konfigurationsdatei Pfad zu setzen.
  2. Anruf LoginContext.login() mit dem Namen der Konfiguration und ein selbstdefinierte Callback-Handler
  3. Falls die Anmeldung erfolgreich „so tun, als“ das Subjekt (von Subject.doAs() verwendet wird), und auf den LDAP-Server verbinden, indem Sie einen neuen InitialLDAPContext mit den entsprechenden Umgebungsvariablen zu schaffen.

Nun, Mein Problem ist, ich verstehe nicht, welcher Schritt korreliert mit dem Handeln KERBEROS? Ist es richtig, nach der Login Aktion zu sagen, dass ich nur ein TGT hat? Wann muss ich den Dienst spezifischen Ticket?

Danke, Dikla

War es hilfreich?

Lösung

  

Die Klasse com.sun.security.auth.module.Krb5LoginModule ist Suns Implementierung eines Login-Modul für die Version 5-Protokoll Kerberos. Nach erfolgreicher Authentifizierung des Ticket Granting Ticket (TGT) in dem Betreff des privaten Anmeldeinformation festgelegt und der Kerberos-Principal wird in der Betreffzeile im Hauptsatz gespeichert wird.

(Aus hier )

Das bedeutet, dass LoginContext.login in der Tat gleich ist, dass nach jedem von ihnen kinit, haben wir eine TGT.

Der Service Ticket wird später erhalten und verwendet wird - nach der Aktion in Subject.doAs() ausgeführt

.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top