Bagaimana untuk menyelesaikan masalah pengalihan semula domain yang membawa parameter? Jangan gunakan kaedah penyambungan parameter pada penghujung url ubah hala
Keperluan, projek A berada pada pelayan A dan perlu diubah hala ke projek B pada pelayan B, dan parameter perlu dibawa kepada pengguna, jadi parameter tidak boleh disambungkan di belakang url ubah hala. Adakah anda mempunyai sebarang penyelesaian lain?
Projek menggunakan spring
RedirectAttributes.addFlashAttribute tidak boleh dilakukan, ia hanya boleh mengubah hala antara kawalan dalam projek yang sama.
Masalah ini belum selesai, tolong beri saya jawapan.
Soalan tambahan:
(1) Jawab di tingkat bawah
Anda boleh meletakkan data dalam pengepala permintaan, tetapi pelayan lain perlu menyediakan medan tersuai yang membenarkan pengepala permintaan
Bagaimana untuk memahami ini? Bagaimana untuk mencapai
Pelayar meminta pelayan A (bukan permintaan ajax), dan pelayan A mengembalikan respons 302 dan url ubah hala untuk mengubah hala klien Pada masa ini, pelayan A boleh meletakkan parameter yang perlu dihantar ke dalam pengepala respons, dan kemudian penyemak imbas bertindak balas kepada sasaran url Redirect, tetapi maklumat pengepala respons ubah hala sebelumnya tidak akan dibawa pada masa ini
Bagaimana kita boleh biarkan dia membawanya ke sana?
(2) Soalan 2: Pelayan mengembalikan respons 302 ubah hala. Bolehkah respons ini mengandungi mesej isi respons? ? ?
Kerana saya sedang menguji menggunakan respons untuk menulis data, tetapi penyemak imbas tidak dapat melihat data tindak balas ubah hala Bagaimana ini dikawal dalam pelaksanaan? Adakah semua respons ubah hala tidak mengandungi badan tindak balas?
Anda boleh meletakkan data dalam pengepala permintaan, tetapi pelayan lain perlu menetapkan kebenaran untuk menyesuaikan medan pengepala permintaan
Pelayan A menghantar parameter kepada B dan menunggu B membalas
B mendapat parameter dan menyimpannya, dan membalas dengan token kepada A. A membawa token ini dan mengubah hala ke B
B menerima ubah hala daripada A dan memperoleh parameter yang disimpan dalam langkah 1 berdasarkan token
Buat
<form method="POST">
,把参数填以<input type="hidden" ...>
的形式填到<form>
里,再用JavaScript触发submit()
, dan parameter ini akan dibawa ke tapak sasaran secara tidak kelihatan dalam bar alamat.Terima kasih atas jemputan Jika anda mengawal kedua-dua perkhidmatan itu sendiri, ia sudah cukup untuk menyulitkan kandungan parameter Anda boleh merujuk kepada cara sesi http disulitkan dan dinyahsulitkan dan terdapat piawaian keselamatan yang berkaitan.
Mengapa anda tidak cuba menyelesaikan masalah ini dari perspektif bahagian hadapan? Hanya hantar permintaan ajax melalui bahagian hadapan, dan kemudian gunakan jsonp untuk menyelesaikan masalah penghantaran parameter merentas domain
Atau buat perkhidmatan peringkat pertengahan, supaya apabila pengguna meminta perkhidmatan peringkat pertengahan, mereka tidak dapat melihat parameter tertentu, dan ini juga mengawal isu merentas domain
Tulis data dan alamat pelayan B ke ajax penyemak imbas Selepas ajax mendapat alamat, ia menghantar data ke pelayan B.
1. Jika kedua-dua pelayan ini boleh dikawal oleh anda, anda boleh menggunakan kuki untuk membawanya merentasi domain Sila ambil perhatian bahawa hanya melalui pengalihan merentas domain 302 anda boleh mengakses pelayan B dengan pengepala permintaan kuki dan pengepala permintaan tersuai yang lain tidak mengambilnya.
2 Protokol http tidak menetapkan bahawa badan respons tidak boleh dimasukkan ke dalam respons 302. Mungkin penyemak imbas secara automatik mengabaikannya?
3 Anda boleh menggunakan 307, supaya permintaan pos anda akan diposkan ke uri baru. Lihat rfc2616-307 untuk butiran