Bonjour.
Je m'en remets à vous car j'ai un soucis avec le contexte de sécurité Spring.
Le contexte de mon projet est le suivant :
- appli java/jee
- authentification à partir d'un annuaire LDAP via un projet propriétaire;
- sécurisation des pages JSP à l'aide de Spring Security.
Après l'authentification d'un utilisateur sur l'application, je fais un
1 2
| SecurityContext secuContext = ... ;
SecurityContextHolder.setContext(secuContext) |
pour mettre sur le thread local le jeton de sécurité de Spring qui contient notamment les droits de l'utilisateur, que je peux ensuite utiliser dans mes JSP à l'aide du tag
<security:authorize ifAnyGranted="...">...</security:authorize>
. Jusque là, tout se passe bien.
Le problème, c'est que, au bout de quelques secondes d'inactivité, mon contexte Spring semble disparaitre. Après étude, il semblerait que la méthode
SecurityContextHolder.clearContext()
soit appelée. Ma question est donc la suivante :
- savez-vous par quoi est appelée cette méthode ?
- où définit-on le timeout qui rend invalide le contexte de sécurité Spring ?
Pour info, mon session-timeout est fixé à 15 minutes, donc je ne pense pas que ce soit ça le problème.
J'espère que vous saurez m'aider, car je galère pas mal à vrai dire...
Merci d'avance.
Partager