首頁  >  文章  >  是否可以從 ServerWebExchange 檢索角色?

是否可以從 ServerWebExchange 檢索角色?

WBOY
WBOY轉載
2024-02-11 13:24:08349瀏覽

php小編百草回答您的問題:「是否可以從ServerWebExchange檢索角色?」答案是肯定的。在Spring WebFlux中,可以透過ServerWebExchange物件來取得目前請求的角色資訊。 ServerWebExchange是Spring WebFlux框架的核心類別之一,它代表著HTTP請求和回應的上下文。透過ServerWebExchange對象,您可以存取請求的路徑、請求頭、請求參數等資訊。而要取得角色訊息,可以透過ServerWebExchange對象的getUser()方法來取得目前請求的使用者對象,從而獲得使用者的角色資訊。這樣,您就可以根據使用者的角色進行相應的權限控制和業務處理了。

問題內容

我可以從 org.springframework.web.server.serverwebexchange 實例檢索主體名稱。

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

我也可以檢索該主體的角色嗎? java.security.principal 類別(與 userdetails 不同)僅提供名稱字串 (getname())

用例:假設我想寫一個 gatewayfilter 來考慮目前使用者的角色並改變交換:

(exchange, chain) -> /* some filtering logic */

解決方法

我將其投射到 authentication。就我而言,主體實際上是 usernamepasswordauthenticationtoken,即 authentication 子類型

((Authentication) principal).getAuthorities()

以上是是否可以從 ServerWebExchange 檢索角色?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:stackoverflow.com。如有侵權,請聯絡admin@php.cn刪除