항해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으로 간거 같다

 

일단 내일부터는 진도를 쭉 빼는 방향으로 공부를 할 생각이고

 

모르는걸 계속해서 구글링하며 깊게 파면서 동작원리를 이해해야 할 것 같다

 

오늘 공부시간