Web Spring boot Security세션 값 받아오기
Security Session 값 불러오기
스프링 시큐리티 활성화시 로그인을 하면 UserDetails를 상속받은 Dto가 자동으로 세션에 담기게 된다.
Authentication auth = SecurityContextHolder.getContext().getAuthentication();
위의 함수를 이용하여 세션에 저장된 값에 접근 할 수 있다. 이후 받고 싶은 정보는 아래 코드를 이용한다.
- Get the username of the logged in user:
getPrincipal()
- Get the password of the authenticated user:
getCredentials()
- Get the assigned roles of the authenticated user:
getAuthorities()
- Get further details of the authenticated user:
getDetails()
만약 기본 생성 값 이외의 추가적인 내용이 있다면 캐스트변환을 통해 불러올 수 있다. (아래 CustomSecurityDetails 클래스는 커스튬 생성한 객체이다)
CustomSecurityDetails user = (CustomSecurityDetails)SecurityContextHolder.getContext().getAuthentication().getPrincipal();
View 에서 값 불러오기
thymeleaf 사용시 input value에 spring security authentication 값을 넣을떄
th:value="${#authentication.principal.something}"