Rumah >Java >javaTutorial >Keselamatan Musim Bunga: Mengapa Berbilang Konfigurasi HTTP Saya Tidak Berfungsi?

Keselamatan Musim Bunga: Mengapa Berbilang Konfigurasi HTTP Saya Tidak Berfungsi?

Barbara Streisand
Barbara Streisandasal
2024-12-02 12:14:10212semak imbas

Spring Security: Why Aren't My Multiple HTTP Configurations Working?

Keselamatan Musim Bunga: Berbilang Konfigurasi HTTP tidak Berfungsi

Artikel ini meneroka isu Keselamatan Musim Bunga di mana berbilang konfigurasi HTTP tidak berfungsi seperti yang diharapkan.

Masalah

Seorang pembangun cuba untuk mewujudkan halaman log masuk yang berbeza dan set URL yang dilindungi menggunakan berbilang kelas WebSecurityConfigurerAdapter dan menghadapi masalah pelaksanaan. Keselamatan untuk satu kumpulan corak URL berfungsi dengan betul, tetapi kumpulan lain tidak dijamin, menyebabkan tiada ubah hala ke halaman log masuk.

Penyelesaian

Kepada menyelesaikan isu ini, pembangun perlu memastikan susunan pelaksanaan yang betul untuk konfigurasi WebSecurityConfigurerAdapter. Spring Security memproses konfigurasi mengikut susunan yang diisytiharkan. Dalam kes ini, konfigurasi pertama mengehadkan akses hanya kepada corak URL tertentu (/admin/), manakala konfigurasi kedua bertujuan untuk melindungi semua URL lain. Walau bagaimanapun, memandangkan konfigurasi pertama sepadan dengan semua URL (/), ia diutamakan dan berkesan menghalang konfigurasi kedua daripada digunakan.

Konfigurasi Betul

@Configuration
@Order(1)
public static class ProviderSecurity extends WebSecurityConfigurerAdapter {

    // Configure security for /admin/**

}

@Configuration
@Order(2)
public static class ConsumerSecurity extends WebSecurityConfigurerAdapter {

    // Configure security for /consumer/**

}

Dengan memberikan nilai @Order 2 kepada konfigurasi ConsumerSecurity, kami memastikan ia diproses selepas ProviderSecurity konfigurasi. Dengan cara ini, ia boleh menyekat akses kepada URL /consumer/** seperti yang dimaksudkan.

Atas ialah kandungan terperinci Keselamatan Musim Bunga: Mengapa Berbilang Konfigurasi HTTP Saya Tidak Berfungsi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn