2016-05-12 3 views
1

J'ai une application qui utilise SpringSecurity. Mon problème arrive si j'essaye de me connecter, il échoue, et j'essaye encore. Qu'est-ce qui se passe est que le sessionid est toujours le même, et cela crée des problèmes. Je l'ai essayé de courir:SpringSecurity - Nécessité de générer un nouvel ID de session à chaque tentative de connexion

request.getSession(false).invalidate() 
final HttpSession session = request.getSession(true) 

Quand je fais cela je reçois serverError lorsque je tente de se connecter, ce qui est pas connecté partout (je soupçonne que SpringSecurity est à blâmer ...). Est-il de toute façon forcer une nouvelle session sur chaque demande de connexion lors de l'utilisation de SpringSecurity?

Répondre

1

Vous obtiendrez probablement NullPointerExceptions avec

request.getSession(false).invalidate(); 

car retourne getSession nulle quand il n'y a pas de session. Donc, cela fonctionnera probablement si vous faites une vérification nulle avant de faire l'invalider.

HttpSession session = request.getSession(false); 
if (session != null) { 
    session.invalidate(); 
}