본문 바로가기

전체 글360

[Design Pattern] 디자인 패턴의 정의와 종류 소프트웨어 디자인 패턴 디자인 패턴이란 특정 문제(혹은 작업)를 해결하기 위한 잘 입증된 솔루션이다. 소프트웨어 개발 과정에서 발견한 지식과 경험을 통해 재사용 할 수 있는 형태로 규약을 만들어서 정리된 것이다. 디자인 패턴을 사용하면 코드를 유연하고 효율적이게 유지보수 할 수 있다. 아래의 23가지 디자인 패턴을 GoF(Gang of Four) 디자인 패턴이라고 한다. 🎨 Creational Design Pattern 생성 패턴은 객체를 만드는 방식과 관련이 있다. 객체를 생성하는 방법에는 new 키워드를 이용하는 방법이 있지만 프로그램의 특성에 따라 구조를 변경할 경우에 유연성을 제공하지 않기 때문에 좋은 방법이 아니다. Factory Pattern Abstract Factory Pattern Sin.. 2022. 9. 25.
Spring Security 권한 부여 구성 요소 보호되어 있는 글 입니다. 2022. 9. 23.
[Spring Security] 구성 요소 및 인증 과정 인증 처리 흐름 📄 SecurityContextHolder - 인증한 대상에 대한 상세 정보를 담는다. 📗 SecurityContext - SecurityContextHolder에 접근할 수 있으며, 현재 인증한 사용자의 Authentication을 가진다. 📗 Authentication - 사용자가 제공한 credential이나 SecurityContext에 있는 사용자의 credential을 제공하며, AuthenticationManager의 입력으로 사용한다. 📗 GrantedAuthority - 접근 주체(principal)에게 부여된 권한이다. (role) 📗 AuthenticationManager - 필터가 인증을 어떻게 수행할지 정의하는 API이다. 📄 ProviderManager - Aut.. 2022. 9. 22.
[Spring Security] 웹 요청 처리 흐름, 서블릿 필터와 필터 체인 보안이 적용된 웹 요청의 일반적인 흐름 사용자가 보호된 리소스를 요청한다. 인증 관리자(컴포넌트)가 사용자의 크리덴션(Credential, 증명 수단)을 요청한다. ex) 패스워드 인증 관리자에게 크리덴션을 제공한다. 인증 관리자는 크리덴션 저장소에서 사용자의 크리덴션을 조회한다. 인증 관리자는 사용자가 제공한 크리덴션과 크리덴셜 저장소의 크리덴션을 비교해 검증한다. 유효한 크리덴션이 아니면 Exception을 throw 한다. 유효하다면, 접근 결정 관리자(컴포넌트)는 사용자가 적절한 권한을 가지고 있는지 검증한다. 적절한 권한을 부여받지 못한 사용자라면 Exception을 throw 한다. 권한이 있는 사용자라면 보호된 리소스의 접근을 허용한다. 서블릿 필터와 필터 체인 Spring Security는.. 2022. 9. 22.
[Day 92] Spring Security 기본 Ⅱ 학습 주제 Spring Security 인증 처리 흐름 Spring Security 인증 컴포넌트 새롭게 배운 내용 2022.09.22 - [Back-End/Spring Security] - Spring Security 웹 요청 처리 흐름 | 서블릿 필터와 필터 체인 2022.09.22 - [Back-End/Spring Security] - Spring Security 인증 구성 요소 보강할 내용 Spring Security 컴포넌트 각각의 기능과 흐름!!! 회고 오늘의 학습 후기: 😐 어제 Spring Security란 무엇인지, 코드를 통해 파악하는 시간을 가졌다. 다 못 보고 잔 부분이 있어서 아침에 보려고 오랜만에 6시에 일어났더니 기분이 너무 좋았다! 오늘은 더 내부로 들어가서 로그인 같은 요청.. 2022. 9. 22.
[Day 91] Spring Security 기본 학습 주제 Spring Security란? Spring Security를 사용해야 하는 이유 Hello, Spring Security로 알아보는 Spring Security의 기본 구조 새롭게 배운 내용 2022.09.21 - [Back-End/Spring Security] - Spring Security 기본 2022.09.22 - [Back-End/Spring Security] - Spring Security 웹 요청 처리 흐름 | 서블릿 필터와 필터 체인 @Bean 등록 시 @Order(1)을 붙이면 우선순위를 정할 수 있다. 숫자가 낮을수록 순위가 높다. DB에 비밀번호 저장 시 암호화는 필수다!!! 보강할 내용 보안 공격 세션 고정(Session Fixation) 공격 클릭재킹 공격 CSRF J.. 2022. 9. 21.