Vue/SpringBoot: Mengapa JSESSIONID saya terus berubah
P粉163951336
P粉163951336 2023-08-29 19:12:16
0
1
690
<p>Saya mempunyai aplikasi vue dengan hujung belakang Spring Boot 3.0.1 dan saya mahu menggunakan CSRF. Bahagian hadapan Vue dan bahagian belakang Spring Boot disediakan oleh sistem yang berbeza. Saya merancang untuk menggunakan proksi terbalik nginx untuk mengurangkan topik CORS, tetapi masalah ini berlaku sama ada nginx terlibat atau tidak. </p> <p>Perkara pertama aplikasi vue saya lakukan ialah meminta token csrf, menyimpannya secara global supaya ia boleh digunakan semasa sesi pengguna. </p> <p>Apabila pengguna log masuk, beberapa kedai pinia dimulakan. Tetapi malangnya, semasa permintaan ini, kuki JSESSIONID yang dihantar dengan setiap permintaan diabaikan oleh bahagian belakang dan JSESSIONID baharu dikeluarkan. JSESSIONID terus berubah semasa menggunakan aplikasi dan membuat permintaan GET selanjutnya</p> <p>Ini menjadikan token CSRF yang disimpan "global" bagi JSESSIONID awal tidak sah sudah tentu...</p> <p>"csrf" pengepala permintaan: </p> <p>tajuk "Log Masuk": </p> <p>Kemudian tiba-tiba permintaan ke-5 mendapat JSESSIONID baharu walaupun saya menghantar kuki JSESSIONID dalam permintaan (dihantar oleh pelayan - kenapa?</p> <h2>Soalan</h2> <p>Mengapa sesi saya terus berubah? Bukankah JSESSIONID saya sepatutnya sentiasa kekal sama? </p> <p>Apakah tujuan menjalankan CSRF? Minta token baharu sebelum membuat sebarang permintaan (bukan GET?)? (Saya menggunakan "Bukti kelayakan: "asal yang sama"")</p>
P粉163951336
P粉163951336

membalas semua(1)
P粉070918777

Saya mempunyai .sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS) dalam SecurityConfig saya, yang menyebabkan masalah... Setahu saya, mengalih keluarnya menyelesaikan penggunaan CSRF. p>

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan