[Spring] Spring Security로 사용자 정보 찾기
2017. 11. 9. 15:29
반응형
[Spring] Spring Security로 사용자 정보 찾기
보통 session.getAtrributy()를 사용하여 세션을 받던 도중 Spring Security 를 사용하여 유저 정보를 받아올 경우가 생겼다
그 경우 당황하지 말고 다음과 같은 방법으로 사용자 정보를 받아올수있다.
▼Controller 메서드인자 받기
1 2 3 4 5 6 7 | @RequestMapping("/") public String index(Principal principal) { System.out.println(principal.getName()); return "index"; } |
▼SpringContextHolder 사용
1 2 3 4 | Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); System.out.println(authentication.getName()); | cs |
▼User 클래스로 형변환 하여 사용
1 2 3 4 | User user = (User) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); System.out.println(user.getUsername()); | cs |
User 클래스를 사용하여 형변환을 진행할때 필자의 경우는 정보를 주고 받는 유저의 클래스 명을 USER로 했기때문에
초기에 해당 형변환이 불가하였다. 이경우 에는 주의할점이 있는데 바로
org.springframework.security.core.userdetails.User 를 사용하여야 Security의 형변환 정보를
올바르게 진행할수있다.
반응형
'Program > Java' 카테고리의 다른 글
[Java] 문자열 바이트로 자르기 (0) | 2019.01.29 |
---|---|
[JAVA] 배열 선언 및 랜덤 함수 활용 (0) | 2018.03.05 |
HTML PAGING CSS (페이징 CSS) (0) | 2017.08.22 |
페이징 기능 구현하기(Paging) (2) | 2017.07.18 |
ajax를 이용하여 JSON 데이터 받기 (jsonView) (0) | 2017.07.15 |