1. 로그인 html안에 포함하는 css, js의 경로는 전부 절대경로를 써야한다. 그렇지 않으면 해당 resource를 불러올수없게된다. ( 아니면 securityconfig에서 resource에 대한 설정을 열어두면 된다)
2. 계속 접근권한에러가 떠서 뭐가 문제일까 했는데, 내가 스프링 security의 구조를 제대로 파악하지 못해서 였다.
4. loginPage는 내가 보여줄 커스텀 로그인 페이지, GetMapping으로 보여주는 로그인 폼이다.
5. loginProcessURL은 스프링이 지정해둔 /login으로 한다. post전송시 여기 url으로 로그인 한 유저의 username(나의 경우엔 email이지만, 스프링의 기본 설정은 username을 식별자로 쓰고 있다)과 password가 날라갈 것이다.
6. 스프링이 username과 password를 내가 커스텀한 UserDetailService를 이용해서 DB에서 유저정보를 읽어올 것이며, 인증에 성공하면 유저가 원래 가고자 했던 uri로 자동 리다이렉트 & 세션에 유저정보를 저장해준다.
7. 로그인 성공!!!
8. 컨트롤러에서는 @AuthenticationPrincipal이라는 어노테이션을 사용해서 유저객체를 가져올 수 있다.
9. MemberDTO는 노출되는 데이터이므로 role을 멤버변수로 넣지 않는다.
하지만 나의 코딩이 너무 아름다워서 남겨둔다...헤
10. Authorites를 꼭 눈으로 확인해보고싶었기때문에... 어렵사리~~ 코드를 짜서 확인해보았다!!! USER라는 권한이 잘 들어가 있음을 확인할 수 있다!!
11. 절대경로로 리소스를 수정한 후 -> 빌드속도가 또 느려졌다!! 음... 파일을 그냥 없애자. ㅎㅎ css는 나중에 업데이트하면 되니까!!