アクティブ ユーザーの詳細の取得
コントローラー メソッド内で現在認証されているユーザーにアクセスする場合、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 サイトの他の関連記事を参照してください。