Récupérer l'utilisateur Windows courant dans l'application Web Java EE à des fins de connexion unique

Je suis en train de faire une Java EE web application qui nécessite une connexion Unique avec Active Directory.

L'application ne sera plus prompt pour un nom d'utilisateur et mot de passe. Le processus d'authentification nécessiterait de récupération de Windows en cours de l'utilisateur connecté. Une fois que j'ai de l'utilisateur, j'ai besoin d'interroger Active Directory pour obtenir les rôles de l'utilisateur connecté. Je suis conscient que cela va exclure les non-utilisateurs de Windows, mais ce est une application interne et de tous les clients à l'aide de Windows.

- Je mettre en place l'authentification unique dans les 2 Java EE et web applications. 1 l'application est runnning sur GlassFish v2.1.1 (JDK 1.6) et l'autre est en cours d'exécution sur Tomcat (JDK 1.5).

Fondamentalement, mon principal problème est de savoir comment récupérer les Fenêtres de l'utilisateur connecté.

J'ai déjà trouver JAAS et Kerberos. Veuillez me corriger si je me trompe. Ma compréhension est que ce sont des protocole d'authentification et ils n'ont pas la fonction pour récupérer le windows actuel de l'utilisateur connecté.

J'ai déjà essayé ce qui suit, mais je suis toujours null ou du Serveur nom d'utilisateur.

  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 l'Authentification HTTP de Tomcat
  6. LoginContext

Je suis ouvert à toutes les suggestions.

source d'informationauteur Amy