ホームページ  >  記事  >  Java  >  Springアプリケーションで現在のユーザーを取得するにはどうすればよいですか?

Springアプリケーションで現在のユーザーを取得するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-06 10:18:02873ブラウズ

How to Retrieve the Current User in Spring Applications?

アクティブ ユーザーの詳細の取得

コントローラー メソッド内で現在認証されているユーザーにアクセスする場合、UserDetails 実装を取得するには、従来、コンテキストにアクセスしてキャストする必要がありました。

WebArgumentResolver ソリューション

より洗練されたアプローチとして、カスタム アノテーションが付けられた User オブジェクトの解決を担当する WebArgumentResolver を実装することを検討してください。 @ActiveUser など。このリゾルバーは、アノテーションの存在とメソッド引数の型に基づいて条件付きでユーザーを返すことができます。

Spring 3.1 ソリューション: HandlerMethodArgumentResolver

Spring 3.1 を使用している場合、または後では、HandlerMethodArgumentResolver が優先されます。 @ActiveUser アノテーションのチェックと、条件が満たされた場合にユーザーを返すことをサポートしています。

Spring Security 3.2 ソリューション: @AuthenticationPrincipal

Spring Security 3.2 では、@AuthenticationPrincipal アノテーションが導入されました。これにより、コントローラー メソッドへのユーザー オブジェクトの直接注入が可能になり、プロセスが簡素化されます。このアノテーションを使用するには、Spring 構成で AuthenticationPrincipalArgumentResolver を登録します。

Spring Security の古いバージョンの場合:

Spring Security の以前のバージョンを使用している場合、またはカスタムのバージョンを使用している場合このアプローチを使用する場合は、上記で説明した WebArgumentResolver ソリューションの実装を検討してください。

以上がSpringアプリケーションで現在のユーザーを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。