Rumah > Java > javaTutorial > Mengapa Penapis Keselamatan Musim Bunga Saya Dikenakan Dua Kali?

Mengapa Penapis Keselamatan Musim Bunga Saya Dikenakan Dua Kali?

Patricia Arquette
Lepaskan: 2024-12-25 01:43:13
asal
417 orang telah melayarinya

Why Are My Spring Security Filters Invoked Twice?

Doa Penapis Berganda dalam Pendaftaran Penapis Kacang Musim Bunga

Apabila bekerja dengan Keselamatan Spring, mendaftarkan penapis sebagai kacang boleh mengakibatkan doa berganda yang tidak disengajakan . Ini berlaku apabila mekanisme pendawaian automatik Spring mendaftarkan penapis dua kali: sekali melalui proses penemuan kacang konvensional dan sekali lagi disebabkan oleh subkelas penapis bagi GenericFilterBean Spring.

Punca Masalah:

Penyebabnya ialah pendaftaran automatik penapis sebagai kacang oleh Spring Boot. Ini bertujuan untuk memudahkan konfigurasi penapis tetapi boleh menyebabkan lebihan apabila penapis ditakrifkan secara eksplisit dan didaftarkan dengan Spring Security.

Betulkan:

Untuk menyelesaikan isu ini, anda mesti memaklumkan dengan jelas Spring Boot untuk tidak mendaftarkan penapis anda sebagai kacang. Ini boleh dicapai menggunakan FilterRegistrationBean, seperti dalam dokumentasi Spring:

@Bean
public FilterRegistrationBean<MyFilter> registration(MyFilter filter) {
    FilterRegistrationBean<MyFilter> registration = new FilterRegistrationBean<>(filter);
    registration.setEnabled(false);
    return registration;
}
Salin selepas log masuk

Dengan melumpuhkan pendaftaran melalui setEnabled(false), anda secara berkesan menghalang Spring Boot daripada mendaftarkan penapis secara automatik. Walau bagaimanapun, penapis anda masih akan dikenali dan digunakan oleh Spring Security kerana pendaftarannya dalam kaedah konfigurasi.

Atas ialah kandungan terperinci Mengapa Penapis Keselamatan Musim Bunga Saya Dikenakan Dua Kali?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan