20221214- 회고

선을로·2022년 12월 14일
0

회고

목록 보기
8/20

내가 뭘 모르는지
내가 어디쯤에 있는지
목표가 무엇인지
어떤 이미지를 믿는지

학습회고

  • 시큐리티 설정 문제
  • 세션을 통해 데이터 다루기

오늘은 크게 위 두가지로 헤맸는데..

시큐리티 설정을 잘 몰라서
시큐리티 설정을 설명해놓은 블로그를 많이 둘러봐도
어디에 쓰이는건 지 뭔소리인지 이해가 잘 안가서
일단 책에 나온대로 작성해봤는데

.anyRequest().authenticated() antmatchers에서 설정한 URL이외에
모든 URL에서는 인증자만 허용함

위 설정 때문에 시큐리티가 동작하는게
구글링에서 배운 설명과 반대로 동작하는걸로 보여서
"사람들이 설명을 반대로 써놨구나.."라고 오해를 했었다😅

그 외에 기존 form 로그인 버튼으로 설정해두었던 부분이 갑자기 안먹혔는데
구글링을 해봐도 별다른 소득은 없었고(애초에 어떤 키워드로 물어봐야할 지 막막했던..)
혼자 고민하다가
"아! 시큐리티 설정에 정해둔 로그인 URL과
내가 만들어둔 loginController에서 정해둔 URL이 겹치는게 문제 아닐까?"란
생각으로 접근해봤더니 해결됬다.
결국 OAuth2 로그인 페이지 경로를 설정하는 부분의 URL이 겹치는 바람에 생긴 문제였다.

이후

serializer.support.SerializationFailedException: Failed to serialize object using DefaultSerializer;

오류가 떴는데,
혹시나 세션에 setAttribute 되는 유저가 도메인 엔티티 클래스 자체라서인가 싶어서
직렬화해주는 dto로 변경 후 넣으니까 해결됬다.

요즘 느끼는거지만..
스프링은 "A가 원인이에요"라고 로그 띄우길래 구글링해보면
A의 해결 방법으로는 전혀 먹통이고
A를 일으키게 한
또 다른 원인인 B를 추측해서 찾아내야하는 경우가 많은 것 같다..
많이 해보는 경험이 중요한 듯!

되새김

0개의 댓글