230807_ 401 Unauthorized

hoy_·2023년 8월 7일
0

Today, I Learned

목록 보기
33/36

1. 오늘의 일정

  1. 심화 프로젝트(ROOI) Board CRUD




2. 배운 내용

  1. AWS 서비스에 관한 내용 복습하고 기록할 것.




3. 발생한 오류

  1. Board CRUD의 코드를 짜는 과정에서 DispatcherServlet에 문제가 생겼다. 처음 한 번의 작동에 한해서 제대로 실행됐다고 나오고 서버조차 다운되지 않고 멀쩡한데 DB에는 반영되지 않았다. (두 번째 이후부터는 로그가 찍히지도 않았다.) column은 제대로 들어갔고 혹시나 싶어 drop도 여러번 시도해봤지만 역시나 작동 안 한다.
2023-08-07T17:17:21.997+09:00  INFO 14896 --- [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring DispatcherServlet 'dispatcherServlet'
2023-08-07T17:17:21.997+09:00  INFO 14896 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
2023-08-07T17:17:21.999+09:00  INFO 14896 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 2 ms

사람 속도 모르고 2ms만에 초기화 했다고 해맑게 알려준다.

차라리 에러 메시지라도 뜨던가, 이렇게 무사히 실행되는 척을 하니 어느 부분에서 오류가 생긴 것인지 파악하기 조차 어려웠다.
이번에도 @Slf4j의 도움을 받았다. 무언가 원인 불명의 문제가 생겼을 때 무조건 로그를 찍어 확인하는 습관을 들이길 잘한 것 같다.

메서드 하나하나 로그를 찍어본 결과 아예 Controller에 접근하지 못했다. 포트번호도 확인했고, URL도 확인했지만 postman에 401이 나온다.


https://developer.mozilla.org/ko/docs/Web/HTTP/Status/401


해결

  1. 결론적으로 해당 에러는 Dependency 설정 때문이었다.
    기능을 나누어 작업하는 프로젝트 특성상, 로그인 security를 구현하는 팀원이 별도로 계셨기에 나는 Board에 관련된 기능만 작업했고, 원활한 테스트를 위해 권한을 설정하지 않았다.

    security Dependency를 추가하면 http자체에 필터가 걸리기 때문에 로그인 상태 외에는 접근이 안 되는 것 같은데... 추가적인 공부가 필요하다.

    로그인이 완성될 때까지 security를 주석처리 하도록 했다.





4. 앞으로의 나는

  1. Board 권한 추가 기능 구상
  2. 권한을 부여하는 방법, Board마다 권한 유저를 관리하는 방법을 고민해봐야겠다.
profile
배우는 사람

0개의 댓글