* 백엔드 프레임워크 처음 써보는 ㅈ밥의 후기라 감안바람..
#1
진짜 정신나갈뻔했다.
api가 몇번이나 바뀐거임?
사실상 검색하면 deprecated된 거고 믿을 수 없다고 봐야함 .
거의 98% 확률로 인텔리제이 옮겨오면 빨간줄 침 ㅇㅇ..
근데 intellisense에서 migration가이드는 제공 안하기 때문에 하나하나 찾아봐야 하는데
문제는 그 찾은방법이 또 deprecated 임 ㅋㅋ
개지랄을 하면서 겨우겨우 다 찾았음 ㅇㅇ..
#2
filterchain 에 뭐 넣어줘야하고 순서 어떻게 잡는건지
처음에 너무 어색하게 다가왔고 적응하는데 시간이 걸림..
#3
대부분의 예시들이
글로벌 SecurityConfig안에서
InMemoryUserDetailsManager를 사용해서 UserDetailsService를 반환하는 사례를 보여주는데
내가 바보인것도 있겠지만 뭔가 개념적으로 헷갈렸음.
그래서 어떻게 유저 아이디/비밀번호를 받아온다는건데? 유저 여러명이면 어떻게한다는건데?
대부분의 예시가 이렇다보니까 여기서 또 헤멨음.
결국 저건 개발환경에서 테스트용으로 몇개 박아놓고 해볼때 쓰는 용도인 것을 알게됐고
custom하는 방식을 찾아서 해결함.
#4
servlet (아직 뭔지 잘 모름; 대충 spring에서 html 던지는 그런거 말하는 건가?) 을 사용한 예시가 너무 많음.
내 상황은 프엔이 분리되어있는데 ..
안그래도 뭐가 뭔지 잘 모르겠는데 모르는 용어의 홍수가 쏟아지니까 더 정신나갈뻔함.
#5
UserDetailsService를 implement해서 custom으로 만들때
User.builder() 결과를 리턴하는데,
여기서 authorities(customer.getRole()) 를 하면안되고
authorities("ROLE_" + customer.getRole())를 해야하더라?
근데 ROLE_ prefix를 붙이는 위치가
UserDetails 를 implement한 custom에는 안붙여도 되고,
SecurityFilter에서 hasRole() 안에도 안붙여도됨. (붙이면 에러남)
근데 securityfilter에서는 붙이면 에러 나게 해줬으면서
왜 저기서는 에러가 안나게 한거임 ㅠㅠ
이것때매 또 헤멤.
---
이외에도 이걸 테스트 해보려면 db를 얹혀서 해야하니까
springboot에서 docker연결, initial data load해주는 방법 등등
자질 구래한거까지 합쳐서 더 헤멨던 거 같음..
난이도 자체보다 어색함이 주는 압박이 더 컸던 거 같다;;
이상 입문후기였습니다.
스프링 입문할 때 스프링 시큐리티가 디아2로 치면 액트2 듀리엘인가 그 느낌이었음 ㅋㅋㅋ
한글 블로그 말고 공식문서 위주로보셈. 시큐리티는 한글 블로그에 잘못되거나 오래된 정보가 더 많다
https://spring.io/projects/spring-security
이거 말하는거임..?
나름 도움 되긴했는데 딱 개념적으로만 도움됐고 실제 코드에는 크게 도움 안됐음 갠적으로..
그리고 오래된 정보는 영어권이 더 심각하더라.. 한국글은 대부분 그래도 메이저버전 1개 이내던데
비교적 최신 정보 찾고 싶으면 jwt, oauth2 적용한 예제들 찾아보셈. 저런 자료들이 최신 버전이나 어느 정도 뒤쳐지지 않은 버전으로 작성된 괜찮은 자료들 있었음.
Udemy에 최최신 버전 강의있던데 - dc App
단기간에 시큐리티 버전업 계속 되면서 deprecated 너무 좆같음 ㅋㅋㅋ
시큐리티 버전 6번 초반대로 플젝 했던거 있는데 몇달만에 다시 인텔리제이 열어보니까 Deprecate 존나 많이 됨 ㅋㅋ
디버거 걸고 소스코드 스택트레이스 까는게 최고였음 나는 씨발것
백엔 프엔 분리되어 있으면 jwt사용하는게 낫지 않냐