Salut à tous,
J'utilise Spring Security et les certificats X509 dans une webapp. Le certificat est créé par un lecteur de cartes, quand une carte est insérée. Voici le scénario :
- un utilisateur insère une carte dans le lecteur
- un certificat est créé avec le nom de l'utilisateur, et installé dans le navigateur
- l'utilisateur se connecte sur le site, il est authentifié
- quand l'utilisateur en a fini, il retire sa carte
- le certificat est désinstallé du navigateur ; l'utilisateir est considéré comme déconnecté du système.
En frontal, j'ai un serveur apache qui effectue les vérifications du certificat, et qui redirige vers les serveurs d'application.
L'authentification d'un utilisateur ne pose aucun problème avec le filtre adéquat. Le problème est que l'utilisateur reste connecté après le retrait de sa carte. Je voudrais automatiquement le dé-authentifier lorsque le certificat n'existe plus (i.e. l'utilisateur a retiré sa carte).
Ma question est donc : comment le faire avec Spring Security ? Dois-je écrire un filtre "auto logout" ? Une autre suggestion ?
Etant donné que c'est le serveur Apache qui gère les accès, est-ce à lui de refuser la connexion ? Le problème étant que je ne le gère pas, lui...
Merci d'avance à tous !
Partager