Bonjour,
J'ai codé une méthode qui me permet de déconnecter mon utilisateur en vérifiant si la session créée par le navigateur existe toujours, si la session est détruite, déconnecter mon utilisateur
A l'ouverture du navigateur, ma session se crée mais ne se détruit pas à la fermerture.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47 package ci.session; import javax.servlet.http.HttpSession; import javax.servlet.http.HttpSessionEvent; import javax.servlet.http.HttpSessionListener; import org.apache.log4j.Logger; import org.springframework.stereotype.Service; import ci.bean.User; import ci.service.*; @Service public class UserSessionListener implements HttpSessionListener { private Logger log = Logger.getLogger(UserSessionListener.class); private MessageServices messageService; public void sessionCreated(HttpSessionEvent se) { // log request of the INFO level log.info("Session créée: " +se.getSession().getId()); } public void sessionDestroyed(HttpSessionEvent se) { //messageService = new MessageServiceImpl(); HttpSession session = se.getSession(); /*// Liaison avec le WebApplicationContext ApplicationContext ctx = WebApplicationContextUtils .getWebApplicationContext(session.getServletContext()); BeanFactory factory = ctx; */ // Suppresion de l'utilisateur dans la liste des connectés try{ User user = (User) session.getAttribute("user"); messageService.removeUser(user); } catch(Exception ex){ log.error(ex.getMessage(), ex); } // log request about session's that are invalidated log.info("Session détruite: " + session.getId()); } }
Quelqu'un saurait-il m'indiquer comment faire ?
Merci d'avance pour votre aide.
Partager