본문 바로가기

데브코스3

데브코스 백엔드 중간 회고 중간 회고 데브코스 시작 후 3개월이 되었습니다. 후반기로 접어들면서 본격적인 프로젝트에 들어가기 앞서 지금까지 배운 것들, 느낀 것들을 정리해볼 필요성을 느꼈습니다. 코드리뷰 항상 제게 필요하다고 느꼈던 부분이었고 과제를 수행하면서 부족한 점들을 많이 찾고 고칠 수 있는 기회였다고 생각합니다. 멘토님들께 코드 리뷰를 받고 질의응답을 하면서 느낀 점은 객체지향, 스프링, JPA, 계층형 아키텍처 등 그동안 구현하면서 잘 쓰고 있다고 생각했던 것들이 사실은 그렇지 않다는 것이었습니다. 첫 번째 계산기 과제에서 어떤 객체에 책임을 할당해야할지 알지 못했습니다. 책임을 할당한다. 라는 말은 알고 있었지만 말 그대로 알고만 있었습니다. 객체지향에 대한 제대로 된 학습이 필요하다 느꼈습니다. 다행히 객체지향 스터.. 2023. 8. 27.
스프링 시큐리티 인증 프로세스와 데이터베이스 인증 처리 복습 AbstractAuthenticationProcessingFilter는 사용자의 인증을 위한 정보를 모아서 미완성의 Authentication 객체를 만듭니다. 구현체를 기준으로 다시 정리해봅시다. UsernamePasswordAuthenticationFilter는 HTTP 요청으로부터 인증을 위한 파라미터를 뽑아냅니다. 이를 토대로 인증되지 않았고 권한도 없는 UsernamePasswordAuthenticationToken 객체를 만듭니다. 생성된 Authentication 객체는 AuthenticationManager로 전달되어 인증 프로세스를 수행합니다. 다시 한 번 구현체를 기준으로 정리해봅시다. 생성된 UsernamePasswordAuthenticationToken 객체는 Pro.. 2023. 8. 12.
[TIL] 스프링 시큐리티 인증 아키텍처와 프로세스 1. 스프링 시큐리티 인증 아키텍처 SecurityContextHolder SecurityContextHolder는 스프링 시큐리티 인증 모델의 핵심입니다. 이것은 인증된 사용자에 대한 세부 정보(details)를 저장하는 곳입니다. 어떤 값이 포함되어 있든 간에 값이 포함되어 있기만 하면 인증된 사용자로 간주됩니다. SecurityContextHolder는 전략 패턴을 사용합니다. SecurityContextHolderStrategy를 클래스 변수로 가지며 ThreadLocal을 사용하여 세부 정보를 저장하는 ThreadLocalSecurityContextHolderStrategy을 기본 전략으로 사용합니다. final class ThreadLocalSecurityContextHolderStrategy.. 2023. 8. 6.