Wykonuję aplikację WWW Java EE, która wymaga logowania pojedynczego przy użyciu usługi Active Directory.Pobranie bieżącego użytkownika systemu Windows w aplikacji WWW Java EE dla celów rejestracji jednokrotnej
Aplikacja nie będzie już pytać o nazwę użytkownika i hasło. Proces uwierzytelniania wymagałby pobrania bieżącego zalogowanego użytkownika systemu Windows. Kiedy już mam tego użytkownika, muszę zapytać Active Directory, aby uzyskać role dla zalogowanego użytkownika. Mam świadomość, że wykluczy to użytkowników innych niż Windows, ale jest to aplikacja wewnętrzna i wszyscy klienci używają systemu Windows.
Muszę zaimplementować SSO w 2 aplikacjach internetowych Java EE. 1 aplikacja działa na GlassFish v2.1.1 (JDK 1.6), a druga działa na Tomcat (JDK 1.5).
Zasadniczo moim głównym problemem jest odzyskiwanie bieżącego zalogowanego użytkownika systemu Windows.
Znalazłem już JAAS i Kerberos. Uprzejmie mnie popraw, jeśli się mylę. Rozumiem, że są to protokoły uwierzytelniania i nie mają funkcji pobierania bieżącego zalogowanego użytkownika Windows.
Próbowałem już następujących rzeczy, ale zawsze otrzymuję null
lub własną nazwę użytkownika serwera.
System.getProperty("user.name");
new com.sun.security.auth.module.NTSystem().getName();
request.getUserPrincipal().getName();
System.getenv("USERNAME");
- JCIF NTLM HTTP w Tomcat
- LoginContext
Jestem otwarty na wszelkie sugestie.
Czy chcesz użytkownika zalogowanego na komputerze klienckim lub serwerze? –
Chciałbym zalogowany użytkownik na komputerze klienta. Dzięki. – Amy