ホームページ > Java > ServerWebExchange からロールを取得することはできますか?

ServerWebExchange からロールを取得することはできますか?

WBOY
リリース: 2024-02-11 13:24:08
転載
369 人が閲覧しました

php エディター Baicao は、「ServerWebExchange からロールを取得することは可能ですか?」という質問に答えます。答えは「はい」です。 Spring WebFlux では、現在要求されているロール情報は ServerWebExchange オブジェクトを通じて取得できます。 ServerWebExchange は Spring WebFlux フレームワークのコア クラスの 1 つで、HTTP リクエストとレスポンスのコンテキストを表します。 ServerWebExchange オブジェクトを通じて、リクエスト パス、リクエスト ヘッダー、リクエスト パラメーターなどの情報にアクセスできます。ロール情報を取得するには、ServerWebExchange オブジェクトの getUser() メソッドを使用して現在要求されているユーザー オブジェクトを取得し、ユーザーのロール情報を取得します。これにより、ユーザーのロールに応じた権限制御や業務処理を行うことができます。

質問の内容

プリンシパル名は、org.springframework.web.server.serverwebexchange インスタンスから取得できます。

リーリー

プリンシパルの役割も取得できますか? java.security.principal クラス (userdetails とは異なります) は、名前文字列 (getname())

のみを提供します。

ユースケース: 現在のユーザーのロールを考慮して交換を変更する gatewayfilter を作成したいとします:

exchange.getprincipal().subscribe(principal -> /* do something with it */);
ログイン後にコピー

回避策

これを authentication にキャストしました。私の場合、プリンシパルは実際には usernamepasswordauthenticationtoken であり、これは authentication サブタイプ

です。 リーリー

以上がServerWebExchange からロールを取得することはできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:stackoverflow.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート