SpringSecurityの認証情報を取得する

コントローラーでの認証情報取得

SpringSecurityを利用している場合で、コントローラーで認証情報を取得したい場合には以下のメソッドで取得することができます。

Object principal = SecurityContextHolder.getContext().getAuthentication().getPrincipal();

if (principal instanceof UserDetails) {
  String username = ((UserDetails)principal).getUsername();
} else {
  String username = principal.toString();
}

戻り値のObject型は認証情報の内容によって異なります。認証情報が取得されている場合には、取得できた認証情報(UserDetails)を設定しますが、認証情報が取得できない場合には 'ANONYMOS' などの文字列が設定されます。

一次リソース

Spring Security Reference