首頁 > Java > 主體

是否可以從 ServerWebExchange 檢索角色?

WBOY
發布: 2024-02-11 13:24:08
轉載
350 人瀏覽過

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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板