Trop de sessions sont créées lors de l’access à la page de connexion?

J’utilise un framework Spring, Apache, Tomcat et la page de connexion est gérée avec la sécurité Spring et j’ai un problème à chaque fois qu’une première requête à la page de connexion génère une nouvelle session pour l’utilisateur, je sais que c’est le comportement par défaut accéder à la page de connexion, une nouvelle session est créée pour vous, puis si un gros chargement est effectué sur la page de connexion, trop d’utilisateurs consultent simplement la page de connexion sans rien faire, donc trop de sessions inutilisées sont créées ici. Qu’est-ce que vous en pensez, juste un problème, je sais que c’est rare, mais ça peut arriver, comment y faire face?

Je ne pense pas que c’est rare. Un soluté possible pourrait être de définir le délai de session au minimum. Par exemple 5 minutes. De plus, vous pouvez écrire un filtre pour augmenter le délai d’expiration de la session si une session existe déjà pour l’utilisateur. Ainsi, un utilisateur normal aura un délai de session de 30 minutes et les utilisateurs ne visiteront qu’un seul côté avec un délai d’attente de 5 minutes.

Voici un filtre qui dose le tour:

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest httpRequest = (HttpServletRequest)request; // The false is important, otherwise a new session will be created. HttpSession session = httpRequest.getSession(false); if (session == null) { chain.doFilter(request, response); return; } session.setMaxInactiveInterval(30 * 60); chain.doFilter(request, response); } 

Un autre bon conseil est de filtrer les robots comme le robot Google. “Détection de Bot” est un bon mot-clé à rechercher.