전체 글(203)
-
[Able - shopping mall] 5분 기록 테이블
이번 과제는 '동시성 제어' 와 '캐싱' 이 목표인 미니 팀 프로젝트로 나의 경우 '캐싱' 에 대한 요구사항을 맡게 되었으며, 추가적으로 주문 및 상품에 관한 일부 CRUD 구현 또한 맡게 되었다. 이번 팀 프로젝트의 5분 기록 테이블을 작성한다. 프로젝트의 성격에 맞추어 테이블에는 아래와 같은 정보를 작성했다.기능 : 작업한 기능을 작성기록 : 작업 내용을 간략하게 작성분류 : 구현, 트러블 슈팅, 오류 해결, 리팩토링(코드수정), 테스트 작성/수정 등 작업의 목적을 작성날짜 : 작업 날짜 작성링크 : 작업한 내용에 대한 블로그 게시물 또는 Github 커밋 내역을 링크기능기록분류날짜링크-프로젝트 발제 내용을 확인 후 팀원과 기획서 작성프로젝트 기획2024.11.22Team Notion주문 요청회원이 ..
2024.11.25 -
[Spring Security] 사용자 정의 보안 설정하기
Spring Security 초기화 작업에 대한 큰 틀을 이해했으니 이번에는 사용자(=개발자)가 정의한 보안 설정을 적용해보자. 강의 수강중 작성한 실습 프로젝트는 여기서 확인할 수 있다.0. 되짚어 보기 이전 게시글에는 단순하게 "사용자(=개발자)가 정의한 보안 설정이 없다면 기본 보안 설정이 적용된다." 라고 이야기 했지만 정확히는 아래의 2가지 조건을 만족해야 기본 보안 설정이 자동으로 적용된다.SecurityFilterChain 클래스와 HttpSecurity 클래스가 ClassPath 에 위치한 경우SecurityFilterChain 이 Bean 으로 등록되지 않은 경우정리하면 (1) 의 경우는 항상 만족한다고 보면된다. Spring Security 프레임워크를 가져다 사용하기 때문에 Secur..
2024.11.21 -
[Spring Security] DelegatingFilterProxy 와 FilterChainProxy
지금까지의 Spring Security 초기화 과정을 학습하면서 인증/인가에 사용되는 Filter 들이 어떻게 만들어지는지 알 수가 있었다. 그런데 이렇게 만들어진 Filter 들은 어떻게 사용되는 걸까?0. Filter (= ServletFilter) Spring Security 공식 레퍼런스의 내용과 강의 내용을 비교해보며 정리한 내용을 다음과 같다.Spring Security’s Servlet support is based on Servlet Filters, so it is helpful to look at the role of Filters generally first. The following image shows the typical layering of the handlers for a si..
2024.11.20 -
[Spring Security] HttpSecurity 와 WebSecurity
이전 강의를 통해 Spring Security 의 초기화에 대해 알수 있었는데 해당 내용이 전부는 아니다. 이번 게시물을 통해 나머지 부분에 대한 내용을 좀 더 알아보려 한다.1. HttpSecurity 와 SecurityFilterChain 현재 프로젝트는 자동 설정을 통해 기본 보안이 적용된 상태이다. 그래서 SpringBootWebSecurityConfiguration.SecurityFilterChainConfiguration 클래스의 defaultSecurityFilterChain() 를 사용하게 된다. 해당 메서드는 파라미터로 HttpSecurity 객체를 받는데 해당 객체는 어떻게 생성되어 전달되는 걸까? 답은 'org.springframework.security.config.annotatio..
2024.11.19 -
[Spring Security] SecurityBuilder 와 SecurityConfigurer
애플리케이션 실행 시 Spring Security 는 어떻게 초기화 될까? 이번에는 초기화에 가장 중요한 역할을 수행하는 SecurityBuilder 와 SecurityConfigurer 에 대해서 알아보자.1. 설명1-1. SecurityBuilder 인터페이스 SecurityBuilder 는 빌더 클래스로서 웹 보안을 구성하는 Bean 객체와 설정 클래스들을 생성하는 역할을 한다. 라이브러리를 통해서 아래와 같은 내용을 확인할 수 있었다.interface SecurityBuilderInterface for building an Object객체 구축을 위한 인터페이스O build()Builds the object and returns it or null. Returns : the Object to be..
2024.11.19 -
[Spring Security] 의존성 추가 및 기본 설정 적용
Spring Security 를 프로젝트에 적용해 사용하려면 어떻게 해야 하는지 학습한 내용을 기록해 본다. 강의 수강중 작성한 실습 프로젝트는 여기서 확인할 수 있다.1. 의존성 추가 Spring Security 를 사용하기 위해서는 아래의 의존성을 'build.gradle' 에 추가할 필요가 있다.dependencies { implementation 'org.springframework.boot:spring-boot-starter-security' ...} 2. 자동 설정을 통한 기본 보안 적용 Spring Security 는 서버가 실행되면 초기화 작업 및 보안 설정이 이루어진다. 만약 개발자가 별다른 설정이나 코드를 작성하지 않았다면 '기본 웹 보안 기능' 이 작동하게 된다. 즉, 기본적으로 수..
2024.11.19