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!