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.
System.getProperty("user.name");
new com.sun.security.auth.module.NTSystem().getName();
request.getUserPrincipal().getName();
System.getenv("USERNAME");
- JCIF NTLM HTTP-Authentifizierung im Tomcat
- LoginContext
Ich bin offen für alle Vorschläge.
Ich möchte den angemeldeten Benutzer auf dem client-Rechner. Danke.
InformationsquelleAutor Amy | 2011-01-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
WAFFEL ist eine großartige Lösung für dieses. Es muss nicht in der Kerberos-Konfiguration.
InformationsquelleAutor Alex
SPNEGO ist ein open-source-Projekt stellt einen servlet-filter, der provies die Integrierte Windows-Authentifizierung.
Er hat Anweisungen für die Konfiguration der beiden Tomcat und Glassfish.
InformationsquelleAutor Mads Hansen
Dieser hilfreich sein könnten:
http://webmoli.com/2009/08/29/single-sign-on-in-java-platform/
http://appliedcrypto.com/
InformationsquelleAutor hB0
JCIFS NTLM ist nicht mehr unterstützt (obwohl es die Arbeit mit NTLMv1). In meinem aktuellen Projekt haben wir SPNEGO als previosuly empfohlen.
Optionen 1, 2 & 3 versuchen, erhalten Sie die server-Benutzer - möchten Sie vielleicht darüber nachdenken, wo dieser code ausgeführt wird & wie könnte es die Interaktion mit dem client-Rechner (kleiner Tipp - es kann nicht)
InformationsquelleAutor Paul M