開始行: * キーワード [#rd7a845e] - Spring Boot - Spring Security * したいこと [#m4c2fb16] Spring Securityでログインしたログインユーザーの情報(Logge... * どうやって [#hc0bf03a] ControllerAdviceで@ModelAttributeをセットしておくのが楽だ... @ControllerAdvice public class PrincipalControllerAdvice { @ModelAttribute public LoggedInUser getLoggedInUser(Principal principal... return Optional.ofNullable(principal) .filter(p -> p instanceof Authentication).map(p -> (Au... .map(a -> a.getPrincipal()) .filter(p -> p instanceof LoggedInUser).map(p -> (Logg... .orElse(null); } } リクエストハンドラでは@ModelAttributeで取得できる。 @RequestMapping("/nanika") public String nanika( @ModelAttribute LoggedInUser loggedInUser, Model model ) { /* 処理 */ } * ノート [#eef66099] - 定形処理はアスペクトにしておくのが吉 - 毎リクエストごとにデータベースから取得するなら、~ ここで取得できるusernameを使ってLoadServiceを呼べばいい * 参考 [#q8ee6def] - [[java - How to get active user's UserDetails - Sta... 終了行: * キーワード [#rd7a845e] - Spring Boot - Spring Security * したいこと [#m4c2fb16] Spring Securityでログインしたログインユーザーの情報(Logge... * どうやって [#hc0bf03a] ControllerAdviceで@ModelAttributeをセットしておくのが楽だ... @ControllerAdvice public class PrincipalControllerAdvice { @ModelAttribute public LoggedInUser getLoggedInUser(Principal principal... return Optional.ofNullable(principal) .filter(p -> p instanceof Authentication).map(p -> (Au... .map(a -> a.getPrincipal()) .filter(p -> p instanceof LoggedInUser).map(p -> (Logg... .orElse(null); } } リクエストハンドラでは@ModelAttributeで取得できる。 @RequestMapping("/nanika") public String nanika( @ModelAttribute LoggedInUser loggedInUser, Model model ) { /* 処理 */ } * ノート [#eef66099] - 定形処理はアスペクトにしておくのが吉 - 毎リクエストごとにデータベースから取得するなら、~ ここで取得できるusernameを使ってLoadServiceを呼べばいい * 参考 [#q8ee6def] - [[java - How to get active user's UserDetails - Sta... ページ名: