Bonjour à tous.

Je cherche à mettre en place un système SSO sur une application J2EE.

J'ai lu pas mal de choses sur le web concernant le sujet, mais ma vision reste cependant assez floue. J'ai donc quelques questions sur le sujet et sur comment procéder.

Voici ce que je souhaite faire : un utilisateur connecte sur sa machine windows. Il peut alors accéder à l'application J2EE qui le connecte automatiquement.

La question est donc la suivante : comment faire ?

Dans ma tête la démarche à suivre : Je récupère le couple login/password de la session windows afin de le comparer aux données de l'active directory.

Le problème c'est que je ne vois pas comment récupérer de manière efficace et sécurisée ce couple ou tout du moins le login de la session windows. En effet, j'ai lu plusieurs fois que System.getProperty("user.name") marche en local mais ne fonctionne plus dès que l'application J2EE est déployée sur un serveur web.

Si j'ai bien compris, il faut utiliser un outils qui utilise l'Integrated Windows Authentication donc le protocole Kerberos ou NTLM. D'après mes recherches, les outils suivants semblent correspondre : SPNEGO, JCIFS et WAFFLES. Mais comment alors récupérer les données de la session windows, j'ai beau chercher je ne trouve pas !

Une fois les identifiants de la session windows récupéré, je pense utiliser un outils comme JNDIRealm, JOSSO ou JAAS/JGuard pour comparer avec le contenu de l'AD.

J'attends donc vos retours afin de savoir si mon point de vu est correct et surtout des indices pour bien faire !

Merci d'avance !