Sto facendo un'applicazione web Java EE che richiede Single Sign-On con Active Directory.Recupera l'utente Windows corrente nell'applicazione Web Java EE ai fini del Single Sign-On
L'applicazione non richiederà più nome utente e password. Il processo di autenticazione richiederebbe il recupero dell'utente Windows attualmente connesso. Una volta che ho l'utente, ho bisogno di interrogare Active Directory per ottenere i ruoli per quell'utente connesso. Sono consapevole che ciò escluderà utenti non Windows, ma questa è un'applicazione interna e tutti i client utilizzano Windows.
Devo implementare l'SSO in 2 applicazioni web Java EE. 1 applicazione è in esecuzione su GlassFish v2.1.1 (JDK 1.6) e l'altra è in esecuzione su Tomcat (JDK 1.5).
Fondamentalmente il mio problema principale è come recuperare l'utente corrente che ha effettuato l'accesso.
Ho già incontrato JAAS e Kerberos. Gentilmente correggimi se sbaglio. La mia comprensione è che si tratta di un protocollo di autenticazione e non hanno la funzionalità per recuperare le finestre correnti registrate dall'utente.
Ho già provato quanto segue ma ricevo sempre null
o il nome utente del server.
System.getProperty("user.name");
new com.sun.security.auth.module.NTSystem().getName();
request.getUserPrincipal().getName();
System.getenv("USERNAME");
- JCIF autenticazione NTLM HTTP in Tomcat
- LoginContext
Sono aperto a qualsiasi suggerimento.
Vuoi l'utente che ha effettuato l'accesso al computer client o al computer server? –
Vorrei l'utente connesso sul computer client. Grazie. – Amy