Salut,
j'ai une petite une appli web avec spring MVC, je veux quand le time out est atteint et que l'utilisateur fait n'importe quelle action, il sera dirigé vers la page de login.
Quelqu'un aurait une idée, comment faire ?
Merci par avance
Salut,
j'ai une petite une appli web avec spring MVC, je veux quand le time out est atteint et que l'utilisateur fait n'importe quelle action, il sera dirigé vers la page de login.
Quelqu'un aurait une idée, comment faire ?
Merci par avance
Tu peux par exemple utiliser un filtre de servlet (interface Filter) qui intercepte tes requêtes avant ta servlet.
J'ai regélé mon pb en faisant un filtre j2ee. Mais j'ai un autre souci :
Le filtre est appelé sur toutes les actions : *.do
et le code du filtre est :
donc mon pb, je reviens tjrs sur le meme filtre, c comme le serpent qui se mord la queue.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 if (httpRequest.getSession(false) == null) { HttpServletResponse httpResponse = (HttpServletResponse) response; httpResponse.sendRedirect(Constants.ADMIN + ".do"); return; }
Comment contourner cela ?
Merci
Dans le filtre, tu peux ajouter un test pour le cas spécifique du login
A+
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 if (httpRequest.getSession(false) == null && httpRequest.getRequestURI().indexOf(Constants.ADMIN) == -1) { HttpServletResponse httpResponse = (HttpServletResponse) response; httpResponse.sendRedirect(Constants.ADMIN + ".do"); return; }
Salut,
Il faut dé-protéger la page de login ... c'est bien la page de login ça ? Constants.ADMIN + ".do" ?
Soit tu fais une redirection directement vers une jsp, soit dans ton filtre, en fonction d'où tu viens, tu laisses passer ou pas.
dans mon web.xml :
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <filter> <filter-name>accessControl</filter-name> <filter-class>com.sdc.shared.web.utils.AccessControl</filter-class> </filter> <filter-mapping> <filter-name>accessControl</filter-name> <url-pattern>*.do</url-pattern> </filter-mapping>
je veux ne pas appliquer cette regle sur le login. c possible de le faire ds le web.xml ?
Merci
Crois pas non, à moins que toutes les pages protégées soient sous un répertoire à eux ...
Le plus simple dès lors serait de le faire dans le filtre ...quoi que tas mis un ceci:
httpRequest.getRequestURI().indexOf(Constants.ADMIN) == -1
Je me répète : c'est bien la page de login ça ? Constants.ADMIN + ".do" ?
Veux tu expliquer un peu plus la situation ?
Partager