[解決済み] Spring Securityを使用する場合、Beanで現在のユーザー名(つまりSecurityContext)情報を取得する適切な方法は何ですか?
2022-03-31 19:06:07
質問
私は、Spring Securityを使用するSpring MVCのWebアプリを持っています。 私は、現在ログインしているユーザーのユーザー名を知りたいです。 私は以下のコードスニペットを使用しています。 これは受け入れられた方法ですか?
このコントローラの内部で静的メソッドを呼び出すのは好きではありません - それはSpringの目的全体を台無しにしています。 IMHOでは、それはSpringの目的全体を破壊するものです。代わりに、現在のSecurityContextまたは現在のAuthenticationが注入されるようにアプリを構成する方法はありますか?
@RequestMapping(method = RequestMethod.GET)
public ModelAndView showResults(final HttpServletRequest request...) {
final String currentUser = SecurityContextHolder.getContext().getAuthentication().getName();
...
}
解決方法は?
を使用している場合 スプリング3 のように、最も簡単な方法です。
@RequestMapping(method = RequestMethod.GET)
public ModelAndView showResults(final HttpServletRequest request, Principal principal) {
final String currentUser = principal.getName();
}
関連
-
[解決済み] ボタンでTextFieldをクリアする(Java)
-
[解決済み] Application startメソッドで例外が発生する。JavaFx 11
-
[解決済み] Oracle DB : java.sql.SQLException: 閉じた接続
-
[解決済み] プロトコルハンドラの初期化に失敗しました。
-
[解決済み] javacが「using unchecked or unsafe operations」という警告を出す原因は何ですか?
-
[解決済み] 要素 'beans' の宣言が見つかりません。
-
[解決済み] javax.naming.NameNotFoundException
-
[解決済み] 親から継承したメソッドの可視性を下げることができない [重複]。
-
[解決済み] スリーピング中のスレッドが割り込まれ、データベースへの接続が失われる
-
[解決済み] Spring Securityによるユニットテスト
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Javaで拡張子なしのファイル名を取得する方法は?
-
[解決済み] Firebase クラスにシリアライズするプロパティが見つからない
-
[解決済み] java.lang.ClassCastException: java.util.Arrays$ArrayList は java.util.ArrayList にキャストできません。
-
[解決済み] 一部の入力ファイルが非推奨のAPIを使用またはオーバーライドしている
-
[解決済み] Java UnknownFormatConversionException
-
[解決済み] Eclipse- Dynamic Web Module 3.0 で新しいプロジェクトを作成するときに Java 1.6 以降が必要なエラーが発生する。
-
[解決済み] javac ソースファイルが見つかりません
-
[解決済み] IntegerからBigIntegerへの変換
-
[解決済み] アクティブユーザーのUserDetailsを取得する方法
-
[解決済み] Spring Securityによるユニットテスト