J'ai un problème de déconnecter dans le cadre de printemps.
Tout d'abord, quand je veux j_spring_security_logout pour le gérer pour moi, je reçois 404 j_spring_security_logout non trouvé:
échantillon-sécurité.xml: p> lien d'url échantillon vers la déconnexion dans la page JSP: p> Quand j'essaie d'utiliser Une page JSP personnalisée, c'est-à-dire que j'utilise le formulaire de connexion à cet effet puis je vais obtenir un meilleur résultat au moins qu'il permet de connecter la page, mais un autre problème est que vous ne vous êtes pas déconnecté car vous ne pouvez pas répertorier l'URL de type qui devrait être gardé vous achetez. passé en tout cas p>
6 Réponses :
est le lien de déconnexion conscient du chemin de contexte? p>
Par exemple, si votre chemin de contexte est "MyApp", où est le point de liaison mentionné ci-dessus? p>
"http: // localhost: 8080 / myApp / j_spring_security_logout" ou "http: // localhost: 8080 / j_spring_security_logout"? P>
En fait, le J_SPRING_SECURY_LOGOUT n'est valide que dans le contexte du WebApp afin que seul le premier lien conduirait à la bonne URL p>
Je viens d'avoir ce problème.
Vous devez vous assurer dans EG P > Web.xml code> Votre filtre de sécurité correspondant à l'URL / J_Spring_Security_Logout P>
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/j_spring_security_logout</url-pattern>
</filter-mapping>
Essayez ce lien dans votre page Whow Content un lien de déconnexion: et créez un fichier logout.jsp dans votre dossier "WebContent" avec le code suivant: p> <% response.sendRedirect("/security/j_spring_security_logout"); %>
J'ai eu le même problème. P>
Je viens de déclasser jusqu'à 3.0.5 et tout fonctionne bien. P>
blockQuote>
J'ai couru dans le même problème et après avoir perdu de l'espoir, j'ai finalement découvert la réponse par accident. Bien sûr, nous apprenons beaucoup en lisant et en utilisant les codes de quelqu'un d'autre et, en faisons cela, nous héritons des paramètres que nous ne savons pas grand chose à propos.
Et c'est ce qui m'est arrivé lors de la programmation à l'aide de la sécurité de printemps. P> < p> Dans la sécurité du ressort XML, dans la balise http b>, il y a cette ligne: p> J'ai eu cette ligne pendant mes recherches d'un didacticiel ou exemple. Et après 2 jours en difficulté avec le mot-clé J_SPRING_SECURY_LOGOUT B> et obtenez rien d'erreur 404, j'ai compris ceci. P> dans la balise B> Etiquette B> Il y a ce paramètre EM> URL EM> sur "/ Déconnexion". Ensuite, j'ai réalisé que, selon mes paramètres, mon printemps s'attend à recevoir / Logout B> au lieu de / j_spring_security_logout b>. P> une fois que j'ai mis à jour mon code en conséquence, Cela a fonctionné comme un charme. P> p>
Comment le printemps sait-il quel utilisateur se déconnecter? Ne devrait-on pas envoyer le nom d'utilisateur ou quelque chose?
Il n'y a aucun moyen d'être connecté à un système avec deux utilisateurs différents. Lorsque vous vous connectez, Spring conserve votre utilisateur dans la session du navigateur et c'est celui qui est déconnecté.
Travaillé comme un charme. Je faisais la même erreur que je n'avais pas ajouté la déconnexion-url = "/ j_spring_security_logout"
Vous devriez faire la demande postale. Quelque chose comme ça:
salut, j'ai fait comme javascript et j'ai passé un jeton CSRF aussi, mais je ne suis pas capable de vous connecter une fois de plus déconnecté. Après la déconnexion, ma page de connexion s'affiche avec un jeton de CSRF qui est différent, puis lorsque je recharge une page de connexion et non en mesure de Connectez-vous à nouveau, il est écrit
http://192.168.6.51:8044/ewts/auth/login_check;jsessionid=40 3A583CDDDC688292408C7 C76CD09F2D? Targurl = Code> non trouvé
Après la déconnexion, comment supprimer le jeton CSRF ???