SpringSecurityを使用するSpringMVCWebアプリがあります。現在ログインしているユーザーのユーザー名を知りたい。以下に示すコードスニペットを使用しています。これは受け入れられた方法ですか?
このコントローラー内で静的メソッドを呼び出すのは好きではありません。これは、Springの目的全体であるIMHOを無効にします。代わりに、現在のSecurityContextまたは現在の認証が挿入されるようにアプリを構成する方法はありますか?
@RequestMapping(method = RequestMethod.GET)
public ModelAndView showResults(final HttpServletRequest request...) {
final String currentUser = SecurityContextHolder.getContext().getAuthentication().getName();
...
}