분류 전체보기

Spring Security 와 Jwt 현재 진행중인 프로젝트는 Spring Security 프레임워크를 토대로 하고 있으며, username/password 기반의 Form 로그인이 아닌 OAuth 2.0을 통해 로그인 처리를 수행한다. 또한, stateless 한 서버를 만들기 위해 Session 을 사용하지 않고 Jwt 를 발급/검증 하여 Authentication 을 하고 있다. 이는 단일 서버로 구동중인 본 프로젝트에서는 불필요한 방식이라고도 볼 수 있으나, 서비스가 커져서 여러개의 서버로 구성되는 상황을 염두에 둔 설계이다. Spring Security + OAuth2.0 + JWT 는 최근 프로젝트에서 꽤 정형화된 패턴의 보안 설계로 보인다. 그런데 그만큼 프레임워크가 많은 부분을 커버하고 ..
부끄러운 이야기지만 아직까지 프로젝트의 로그인 처리 로직이 완성되지 못했었다. 나도, 다른 팀원도 전부 로컬환경에서 작업을 하다가 이번에 DB를 바꾸면서 서버 환경에서 다시 로그인 및 회원가입 로직을 시험했었는데 로컬에서는 멀쩡하게 작동하는데 서버에서는 403 에러가 뜨는 것이었다. (앞으로는 잘 사진을 찍어서 남겨야겠다.) 이런 경우 EC2 에 접속해서 에러 로그를 찾아보아야 하나, 아직 에러로그를 어떻게 확인하는 지 잘 모른다. (이전에 Log4j2 설정을 공부하면서 만져보긴 했는데 도무지 로그파일이 어디에 저장되는지 찾아내는 데에 실패해서 약간 포기상태에서 머물고 있는 상태이다.) 그래서 수동으로 서버를 중지하고 다시 켜서 실시간으로 에러 메세지를 확인해보니, Token 이 만료되었다는 메세지를 확..
일주일 넘게 Test Code 작성과 씨름하고 있다 처음부터 잘 만들어진 교육자료로, 예제 하나하나 따라가면서 학습 했으면 이렇게 오래 걸리지 않았을텐데 처음부터 다 따라 하기에는 프로젝트에 당장 적용해야하니 마음은 급하지 사실 좀 그럴듯한 강의는 죄다 영어로 되어서 중간 중간 띄엄띄엄 속성으로 학습하는 것도 무리였다 (역시 내 깜냥으로 프로젝트에 뛰어드는게 아니었다는 생각이 또 한번 느껴지는 순간이었다) 몇번의 좌절의 순간을 겪다가 오늘 또 2시간 정도의 시간을 잡아먹은 대목이 있었는데 간단히 해결되어서 남겨둔다. 문제는 Controller 테스트 시 mockMvc의 permform 메서드를 통해 Controller 와 요청과 응답을 주고 받는데, Get 요청에서는 응답을 잘 받아오더니 Put, Pat..
이제 두번째 기술 포스팅이다. 사실 실제 개발을 진행하는 것조차 힘에 부치기 때문에... 기술 블로그까지 내가 운영할 수 있을까? 라는 생각이 들기도 하고, 다른 좋은 블로그들 많은데 내가 이런거 정리 해두는게 의미도 크게 없을 것 같다는 생각을 했는데 결정적으로 이번 게시글은 반드시 정리해야겠다고 생각하게 만든 계기가 있다. 어떻게 하나같이 Configutation 이라는 오타를 똑같이 낼 수가 있는 것일까? 예시를 4개만 들고 왔는데 구글 검색 결과의 상위 6개인가가 다 똑같아서 이놈의 기술 블로그들을 도저히 신뢰할 수가 없다는 판단이 섰다. (이 웃긴 사람들의 블로그 다른 게시물들을 보면 아주 진지하고 스마트한 개발자임을 뽐내고 있다는 것이 조금 애잔했다.) 원래 이 기술블로그라는 것의 생태가 이렇..
참고 자료 : https://sightstudio.tistory.com/20 Dependency Injection(의존성 주입) 시 스프링에서 공식적으로 특정 방식을 권장하고 있다는 것은 얼핏 알았는데, 그 동안 공부하면서 크게 신경쓰지 않고 필드 주입을 사용했었다. 그런데 자꾸만 하이라이트가 뜨는게 거슬려서 마우스를 가져다 댔더니 추천하는 주입 방식이 아니라고 하는 게 아닌가... 이번 기회에 권장되는 방식이 뭔지 배워야겠다는 생각이 들어서 구글링을 했는데 위에 블로그에 너무 잘 설명이 되어있었다. 우선 나의 지식 리마인드... Dependency Injection이란 뭔가요? : 인스턴스 A가 다른 클래스의 인스턴스 B를 내부에서 사용하고 있을 때, 클래스 B의 내용이 변경되면 B를 사용하고 있는 A..
Cypher
'분류 전체보기' 카테고리의 글 목록 (6 Page)