Rumah > Java > Adakah mungkin untuk mendapatkan semula peranan daripada ServerWebExchange?

Adakah mungkin untuk mendapatkan semula peranan daripada ServerWebExchange?

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Lepaskan: 2024-02-11 13:24:08
ke hadapan
410 orang telah melayarinya

editor php Baicao menjawab soalan anda: "Adakah mungkin untuk mendapatkan semula peranan daripada ServerWebExchange Jawapannya ya? Dalam Spring WebFlux, maklumat peranan yang diminta pada masa ini boleh diperolehi melalui objek ServerWebExchange. ServerWebExchange ialah salah satu kelas teras rangka kerja Spring WebFlux, yang mewakili konteks permintaan dan respons HTTP. Melalui objek ServerWebExchange, anda boleh mengakses maklumat seperti laluan permintaan, pengepala permintaan dan parameter permintaan. Untuk mendapatkan maklumat peranan, anda boleh mendapatkan objek pengguna yang diminta pada masa ini melalui kaedah getUser() objek ServerWebExchange untuk mendapatkan maklumat peranan pengguna. Dengan cara ini, anda boleh melaksanakan kawalan kebenaran dan pemprosesan perniagaan yang sepadan berdasarkan peranan pengguna.

Kandungan soalan

Saya boleh mendapatkan semula nama utama daripada contoh org.springframework.web.server.serverwebexchange.

exchange.getprincipal().subscribe(principal -> /* do something with it */);
Salin selepas log masuk

Bolehkah saya juga mengambil semula peranan pengetua ini? java.security.principal 类(与 userdetails 不同)仅提供名称字符串 (getname())

Kes penggunaan: Katakan saya ingin menulis gatewayfilter yang mengambil kira peranan pengguna semasa dan mengubah pertukaran:

(exchange, chain) -> /* some filtering logic */
Salin selepas log masuk

Penyelesaian

Saya menghantarnya ke authentication。就我而言,主体实际上是 usernamepasswordauthenticationtoken,即 authentication subjenis

((Authentication) principal).getAuthorities()
Salin selepas log masuk

Atas ialah kandungan terperinci Adakah mungkin untuk mendapatkan semula peranan daripada ServerWebExchange?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan