Rumah  >  Artikel  >  Java  >  Bagaimana untuk Mendapatkan Kembali Pengguna Semasa dalam Aplikasi Spring?

Bagaimana untuk Mendapatkan Kembali Pengguna Semasa dalam Aplikasi Spring?

Linda Hamilton
Linda Hamiltonasal
2024-11-06 10:18:02873semak imbas

How to Retrieve the Current User in Spring Applications?

Mendapatkan Butiran Pengguna Aktif

Apabila mengakses pengguna yang sedang disahkan dalam kaedah pengawal, mendapatkan pelaksanaan UserDetails secara tradisinya memerlukan akses konteks dan penghantaran prinsipal kepada objek Pengguna.

WebArgumentResolver Solution

Untuk pendekatan yang lebih elegan, pertimbangkan untuk melaksanakan WebArgumentResolver yang bertanggungjawab untuk menyelesaikan objek Pengguna yang beranotasi dengan anotasi tersuai, seperti @ActiveUser. Penyelesai ini boleh mengembalikan pengguna secara bersyarat berdasarkan kehadiran anotasi dan jenis argumen kaedah.

Penyelesaian Spring 3.1: HandlerMethodArgumentResolver

Jika menggunakan Spring 3.1 atau kemudian, HandlerMethodArgumentResolver lebih disukai. Ia menyokong menyemak anotasi @ActiveUser dan mengembalikan pengguna jika syarat dipenuhi.

Spring Security 3.2 Penyelesaian: @AuthenticationPrincipal

Spring Security 3.2 memperkenalkan @AuthenticationPrincipal annotation , yang memudahkan proses dengan membenarkan suntikan terus objek pengguna ke dalam kaedah pengawal. Untuk menggunakan anotasi ini, daftarkan AuthenticationPrincipalArgumentResolver dalam konfigurasi Spring.

Untuk Versi Lama Spring Security:

Jika menggunakan versi Spring Security yang lebih awal atau lebih suka yang tersuai pendekatan, pertimbangkan untuk melaksanakan penyelesaian WebArgumentResolver yang diterangkan di atas.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Kembali Pengguna Semasa dalam Aplikasi Spring?. 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