항해99 개발일지
[항해99] 19일차 (TIL : 주특기 숙련 Spring)
펭귄코기
2022. 10. 7. 23:30
오늘은 숙련주차 첫날이였고 스프링 시큐리티를 했다
처음에는 이해가 잘되어서 쭉쭉 나가고 있었는데
WebSecurityConfig로 들어와서 메서드로 처리가 되는데
흐름에대한 의문이 생겼다...
첫번째로 login은 유저네임과 패스워드가 String으로 넘어가는데
@GetMapping("/")
public String home(Model model, @AuthenticationPrincipal UserDetailsImpl userDetails) {
model.addAttribute("username", userDetails.getUsername());
if (userDetails.getUser().getRole() == UserRoleEnum.ADMIN) {
model.addAttribute("admin_role", true);
}
return "index";
}
여기로 받게되어있다 그런데 어디서 객체로 변환되어서 값이 들어갔는지
아직도 명확하게 해결하지는 못했다.. 계속해서 찾아보고 깊게 파볼 생각이다
두번째로는 로그아웃을 하면 로그아웃을 완료후 어디 url로 이동하라는게 명확하지 않아서
컨트롤 + 클릭 으로 메서드를 파고파고 들어가봤더니
스프링 시큐리티에서 기본값으로 /login으로 보내게 되어있었다
그런 이유로 로그아웃하면 세션을 다 날리고 /login으로 간거 같다
일단 내일부터는 진도를 쭉 빼는 방향으로 공부를 할 생각이고
모르는걸 계속해서 구글링하며 깊게 파면서 동작원리를 이해해야 할 것 같다