Problème avec le Printemps, la sécurité de la déconnexion
J'ai un problème de connexion dans le framework Spring.
Premier, lorsque je veux j_spring_security_logout pour gérer cela pour moi-je obtenir 404 j_spring_security_logout pas trouvé:
sample-security.xml:
<http>
<intercept-url pattern="/messageList.htm*" access="ROLE_USER,ROLE_GUEST" />
<intercept-url pattern="/messagePost.htm*" access="ROLE_USER" />
<intercept-url pattern="/messageDelete.htm*" access="ROLE_ADMIN" />
<form-login login-page="/login.jsp" default-target-url="/messageList.htm"
authentication-failure-url="/login.jsp?error=true" />
<logout/>
</http>
Exemple de lien url de déconnexion dans la page JSP:
<a href="<c:url value="/j_spring_security_logout" />">Logout</a>
Lorsque j'essaie d'utiliser un custom page JSP c'est à dire je utiliser le formulaire de connexion pour cet effet, puis-je obtenir un meilleur résultat, à moins qu'il arrive à la page de login, mais un autre problème est que vous ne obtenez pas déconnecté comme vous pouvez le diretcly type d'url qui doit être gardé acheter vous avez passé de toute façon.
Légèrement modifié à partir de listes précédentes:
<http>
<intercept-url pattern="/messageList.htm*" access="ROLE_USER,ROLE_GUEST" />
<intercept-url pattern="/messagePost.htm*" access="ROLE_USER" />
<intercept-url pattern="/messageDelete.htm*" access="ROLE_ADMIN" />
<form-login login-page="/login.jsp" default-target-url="/messageList.htm"
authentication-failure-url="/login.jsp?error=true" />
<logout logout-success-url="/login.jsp" />
</http>
<a href="<c:url value="/login.jsp" />">Logout</a>
Vous remercie pour l'aide
- salut, j'ai fait comme le javascript et le passé jeton csrf aussi, mais je ne suis pas en mesure de vous connecter à nouveau, une fois déconnecté.. après déconnexion ma page de connexion est montrant avec quelques csrf token qui est différent alors quand je recharge la page de connexion, et de ne pas pouvoir se connecter à nouveau, il dit
http://192.168.6.51:8044/EWTS/auth/login_check;jsessionid=403A583CDDC688292408C7C76CD09F2D?targetUrl=
pas trouvé - Après déconnexion, comment faire pour supprimer jeton csrf???
Vous devez vous connecter pour publier un commentaire.
J'ai juste eu ce problème.
Vous devez vous assurer que dans
web.xml
votre filtre de sécurité correspond à l'url /j_spring_security_logoutpar exemple
Vous devez faire une requête POST. Quelque chose comme ça:
J'ai rencontré le même problème et après avoir perdu espoir, j'ai enfin trouvé la réponse par accident.
Bien sûr, nous apprenons beaucoup de choses en lisant et en utilisant quelqu'un d'autre codes et, ce faisant, nous héritons de paramètres que nous ne savons pas trop.
Et c'est ce qui m'est arrivé lors de la programmation à l'aide de Spring Security.
Au Printemps XML de Sécurité, au sein de la http de la balise, il y a cette ligne:
J'ai eu cette ligne au cours de mes recherches à partir d'un tutoriel ou d'un exemple. Et après 2 jours mal avec le j_spring_security_logout mot clé et de ne rien obtenir, mais erreur 404, j'ai pensé à cette.
Dans le déconnexion tag j'utilise, il y a cette déconnexion-url paramètre à "/déconnexion". Puis j'ai réalisé que, selon les paramètres de mon, de mon printemps s'attend à recevoir /déconnexion au lieu de /j_spring_security_logout.
Une fois que j'ai mis à jour mon code en conséquence, il a travaillé comme un charme.
Est lien de déconnexion conscient du chemin de contexte?
Par exemple, si votre chemin de contexte est "myapp", d'où vient le mentionnés ci-dessus lien point?
"http://localhost:8080/myapp/j_spring_security_logout" ou "http://localhost:8080/j_spring_security_logout" ?
En fait, la j_spring_security_logout est uniquement valable dans le contexte de la webapp donc seul le premier lien conduirait à l'url correcte
J'ai eu le même problème.
Semble être un bug sur 3.0.6!
Essayez ce lien dans votre page whow contenu d'un lien de déconnexion:
et creeate une déconnexion.fichier jsp dans votre "webcontent" dossier avec le code suivant:
si un eror s'est produite essayer de changer "#{demande.contextPath}" le nom de votre projet
ex: mon nom du projet est "sécurité", donc je me sers de ma déconnexion.fichier jsp: