Vue/SpringBoot: Warum ?ndert sich meine JSESSIONID st?ndig?
P粉1639513362023-08-29 19:12:16
0
1
1049
<p>Ich habe eine Vue-Anwendung mit Spring Boot 3.0.1-Backend und m?chte CSRF verwenden. Das Vue-Frontend und das Spring Boot-Backend werden von unterschiedlichen Systemen bedient. Ich habe vor, einen Nginx-Reverse-Proxy zu verwenden, um das CORS-Thema zu entsch?rfen, aber dieses Problem tritt unabh?ngig davon auf, ob Nginx beteiligt ist oder nicht. </p>
<p>Das erste, was meine Vue-Anwendung tut, ist, das CSRF-Token anzufordern und es global zu speichern, damit es w?hrend der Benutzersitzung verwendet werden kann. </p>
<p>Wenn sich ein Benutzer anmeldet, werden mehrere Pinia-Stores initialisiert. Aber leider wird bei diesen Anfragen das mit jeder Anfrage gesendete JSESSIONID-Cookie vom Backend ignoriert und eine neue JSESSIONID ausgegeben. Die JSESSIONID ?ndert sich st?ndig, w?hrend die Anwendung verwendet wird und weitere GET-Anfragen gestellt werden</p>
<p>Dadurch wird das ?globale“ gespeicherte CSRF-Token der anf?nglichen JSESSIONID natürlich ungültig...</p>
<p>Anforderungsheader ?csrf“: </p>
<p>Titel ?Anmelden“: </p>
<p>Dann bekam die 5. Anfrage pl?tzlich eine neue JSESSIONID, obwohl ich das JSESSIONID-Cookie in der Anfrage gesendet hatte (vom Server gesendet – warum?</p>
<h2>Frage</h2>
<p>Warum ?ndern sich meine Sitzungen st?ndig? Sollte meine JSESSIONID nicht immer gleich bleiben? </p>
<p>Was ist der Zweck der Durchführung von CSRF? Neues Token anfordern, bevor eine (nicht GET?) Anfrage gestellt wird? (Meiner verwendet ?Anmeldeinformationen: ?gleicher Ursprung““)</p>