전체 글832 [1년 후 마실가실] ExceptionHandlerFilter 1년 전 진행했던 마실가실 프로젝트를 🛠️리팩토링하며 정리한 내용입니다. Filter에서 Exception 처리가 되지 않아 길을 잃은지 어느덧 한 달..드디어 필터를 활용하여 Exception 처리까지 왔습니다.. 의도치않은 리리팩토링으로 인해 기능 구현은 제자리지만, 포기하지 않으면 과정입니다..파이팅..⭐ 그간의 이야기를 잠깐 해보자면, 저에겐 @RestControllerAdvice를 선언한 GlobalExceptionHanlder가 있었습니다(지금도 있습니다^^). GlobalExceptionHanlder는 Controller로 들어온 Exception을 처리하는데, Filter에서 오류가 발생하면 Controller로 들어오지 않아 Exception 처리가 안되던 문제가 있었습니다.. .. 2024. 11. 17. [1년 후 마실가실] @GeneratedValue(strategy = GenerationType.IDENTITY) 1년 전 진행했던 마실가실 프로젝트를 🛠️리팩토링하며 정리한 내용입니다. 애플리케이션 껐다키면 userId가 50 증가한 썰.. Spring Security를 전체적으로 리리팩토링을 하고 Postman으로 전체적인 동작을 확인하고 있습니다. 그러다 문득, DB에서 UserId값을 보는데, 2000번을 넘었더라고요.내가 Create 메서드를 2000번이나 했으려나..? 라는 생각과 함께 Postman으로 Id값이 제대로 증가하는지 확인해보다 애플리케이션을 껐다 키면 50이 증가해버리는 문제를 발견했습니다. 간단하게 고쳐보는 과정을 남겨봅니다.. Hibernate5부터 MySQL DB로 @GeneratedValue를 사용해서 AUTO를 strategy로 선택하게 되면, GenerationType.TABLE.. 2024. 11. 14. [해결 방법] "this.bCryptPasswordEncoder" is null java.lang.NullPointerException: Cannot invoke "org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder.encode(java.lang.CharSequence)" because "this.bCryptPasswordEncoder" is nullEnvironmentLanguage: Java 17Framework: SpringBoot 3.1.0, Spring Security 6.1.0DB: MySQL, Redis 오류java.lang.NullPointerException: Cannot invoke "org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder.e.. 2024. 11. 12. [1년 후 마실가실] CharacterEncodingFilter 1년 전 진행했던 마실가실 프로젝트를 🛠️리팩토링하며 정리한 내용입니다. 최근에 Security Filter를 리리팩토링하면서 기본 HttpStatus 값을 반환하여, Custom한 Error Code가 쓸 일이 없어졌습니다. 하지만, 쓰라고 만들어둔 것이기에 코드를 조금씩 바꿔서 response에 조심스럽게 담아 고객님께 전달해드렸는데 한글이 출력이 안됩니다. 하지만, 이 곳은 한국.. 한국어가 나와야 합니다.. 검색해서 나온 방법들은 통하지 않아 네이버 블로그와 GPT와 함께 열심히 찾은 결과를 작성해둡니다.. (실패) application.yml전역 설정의 중앙 허브.. application.yml 설정으로 먼저 시작해 봤습니다.spring: servlet: encoding: c.. 2024. 11. 10. [1년 후 마실가실] Spring Security + JWT - Header 1년 전 진행했던 마실가실 프로젝트를 🛠️리팩토링하며 정리한 내용입니다. JWT 사용 방식에 대해 알고 계신가요..?공식 문서에서는 Authorization Header에 Bearer를 붙여 토큰을 발해서 보내라, 라고 하고 있습니다. 문득, 제 지난 코드는 Header가 아닌 Body를 쓰고 있다는 사실을 알게 되었고, 그로 인해 토큰 재발급과 로그아웃을 리리팩토링하게 되었습니다. 공식 문서가 시키는대로 완성된 코드를 정리해 보고자 합니다. 1. 로그인LoginFilter.javaSpring Security에서 제공하는 폼을 사용하면 UsernamePasswordAuthenticationFilter를 통해서 로그인 인증이 진행됩니다.저는 별도의 회원가입 양식을 사용하기 때문에 UsernamePass.. 2024. 11. 3. [1년 후 마실가실] Spring Security + JWT - LoginFilter 1년 전 진행했던 마실가실 프로젝트를 🛠️리팩토링하며 정리한 내용입니다. 요즘 제 표정입니다. Spring Security Exception 처리에 막혀서, 이건.. 이건.. 학습이 필요하다는 생각이 간절히 들어 요즘 Security 강의를 듣습니다.. 근본.. Login부터 다시 돌아가보고자 합니다.. Spring Security에서 기본으로 제공하는 Form Login 방식을 사용하지 않기에 Form Login 방식에서 사용하는 Security Filter인 UsernamePasswordAuthenticationFilter을 상속받은 LoginFilter를 생성합니다.username(id와 동일한 개념으로 생각하면 될 것 같습니다)과 password를 사용해서 로그인을 할 경우, obtainUs.. 2024. 10. 27. 이전 1 2 3 4 ··· 139 다음