Rediriger l'utilisateur sur un timeout de session
salut a tous,
J'ai une application Web dans laquelle j'utilise Spring et je voudrais, lorsque la session de l'utilisateur expire, le rediriger vers la page de login.
j'ai ceci dans mon fichier de config :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
<bean id="filterSecurityInterceptor" class="org.springframework.security.intercept.web.FilterSecurityInterceptor">
<property name="authenticationManager">
<ref bean="authenticationManager" />
</property>
<property name="accessDecisionManager">
<ref bean="accessDecisionManager" />
</property>
<property name="objectDefinitionSource">
<value>
CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
PATTERN_TYPE_APACHE_ANT
/admin/admin*=ADMIN,SUPERUSER
/main/*=USERS
</value>
</property>
</bean> |
Puis-je rajouter quelque chose ici pour dire "si l'utilisateur n'a aucun rôle (session invalide) alors rediriger vers /login.jsp" ?
ou alors y'a il un moyen plus standard de faire ce que je cherche a faire avec Spring ?
Merci d'avance.
Le filtre doit mieux convenir
Bonjour,
Même si la question a été posée il y a un bout de temps, je me permets d'y ajouter une remarque.
Je pense plutôt que la solution serait d'utiliser les filtres (interface Filter).
Les filtres permettent d'exécuter un traitement avant et/ou après qu'une requête soit traitée. Dans ton cas, il suffit d'intercepter chaque requête de ton application par un filtre, qui se chargera de tester si la session utilisateur existe toujours. Si ce n'est pas le cas, il suffit de rediriger vers la page d'accueil. Si la session existe toujours, alors il suffit de passer la main à la servlet qui exécutera ton code métier. Tu devrais trouver plusieurs exemples sur le net pour illustrer mon propos.
Les écouteurs de session ne peuvent pas être utilisés dans ton cas car tu n'as pas la main sur la requête ou la réponse.
Bon courage à tous.