On me dit qu'il est possible de créer une application web qui ne nécessite pas de connexion. L'utilisateur se connecte à Windows, qui s'authentifie via une recherche Active Directory (LDAP). Il devrait ensuite pouvoir accéder à mon application web et ne jamais voir d'invite de connexion. Ces clients appellent cela l'authentification unique (peut-être à tort, ce qui explique en partie ma confusion).
Mais, d'après ce que j'ai lu dans la documentation de Tomcat, l'authentification unique (Single Sign On) est :
La vanne d'ouverture de session unique est utilisée lorsque vous voulez la possibilité de se connecter à n'importe laquelle des applications web votre hôte virtuel et ont alors leur identité re autres applications web sur le même hôte virtuel.
C'est parfaitement clair pour moi. L'utilisateur doit se connecter une fois et peut accéder à toutes les applications web sur une instance de Tomcat. Mais ce que j'ai besoin de faire, c'est de leur permettre de se connecter sans jamais fournir d'informations d'identification à mon serveur Tomcat.
Donc, pour que cela fonctionne, j'imagine que.. :
- L'utilisateur demande une page
- Le serveur ne voit pas de jeton de session et demande alors au client des informations d'identification.
- Le navigateur du client, sans aucune intervention de la part de l'utilisateur, fournit des informations d'identification au serveur.
- Ensuite, en utilisant les informations d'identification fournies par le navigateur du client, il effectue une recherche dans un LDAP.
J'ai vu quelques exemples qui utilisent des certificats côté client... en particulier le système PKI du ministère de la Défense, ce qui me semble logique car dans ces cas-là, il faut configurer Tomcat pour qu'il demande des certificats côté client mais en se connectant simplement à Windows, je ne vois pas comment cela fonctionnerait et quelles informations le navigateur transmettrait au serveur, etc. Est-ce que c'est pour cela que NTLM est utilisé ?