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
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());
    }
}
A l'ouverture du navigateur, ma session se crée mais ne se détruit pas à la fermerture.

Quelqu'un saurait-il m'indiquer comment faire ?

Merci d'avance pour votre aide.