Abrufen von aktuellen Windows-Benutzer in Java EE web-Anwendung für Single-Sign-On-Zwecke

Ich arbeite gerade an einem Java EE web-Anwendung, die erfordert, dass Single-Sign-On mit Active Directory.

Die Anwendung wird nicht mehr die Eingabeaufforderung für einen Benutzernamen und Kennwort. Der Authentifizierungs-Prozess erfordern würde-Abfrage des aktuellen Windows angemeldeten Benutzers. Sobald ich die user, die ich brauche, um Active Directory abzufragen, um die Rollen für die angemeldeten Benutzer. Ich bin mir bewusst, dass dies ausgeschlossen wird, nicht-Windows-Benutzer, aber dies ist eine interne Anwendung und alle clients sind mit Windows.

Implementierung der SSO in 2 Java EE web-Anwendungen. 1 Anwendung ausgeführt wird, auf GlassFish v2.1.1 (JDK 1.6) und der andere läuft auf Tomcat (JDK 1.5).

Im Grunde mein Hauptproblem ist, wie zum abrufen der aktuellen Windows angemeldeten Benutzers.

Habe ich bereits über JAAS und Kerberos. Freundlicherweise korrigiert mich wenn ich falsch bin. Mein Verständnis ist, dass diese Authentifizierung-Protokoll, und Sie haben nicht die Funktion zum abrufen der aktuellen windows angemeldeten Benutzers.

Ich habe bereits versucht die folgenden, aber ich bin immer null oder Server-eigenen Benutzernamen.

  1. System.getProperty("user.name");
  2. new com.sun.security.auth.module.NTSystem().getName();
  3. request.getUserPrincipal().getName();
  4. System.getenv("USERNAME");
  5. JCIF NTLM HTTP-Authentifizierung im Tomcat
  6. LoginContext

Ich bin offen für alle Vorschläge.

Möchten Sie, dass der angemeldete Benutzer auf dem client-computer oder dem server-computer?
Ich möchte den angemeldeten Benutzer auf dem client-Rechner. Danke.

InformationsquelleAutor Amy | 2011-01-04

Schreibe einen Kommentar