부트캠프 기록/Section4 15

[Spring Security] JWT 개요

✅학습 목표 인증된 사용자인지를 증명하는 토큰 방식과 세션 방식의 차이점을 설명할 수 있다. JWT(JSON Web Token)가 무엇인지 설명할 수 있다. JWT의 구성 요소를 설명할 수 있다. JWT의 동작 방식을 이해할 수 있다. 토큰 방식과 세션 방식 자격 증명 방식 토큰 기반 자격 증명 세션 기반 자격 증명 토큰에 포함된 인증된 사용자 정보는 서버 측에서 별도의 관리를 하지 않음 세션을 서버 측 세션 저장소에서 관리 세션에 비해 상대적으로 많은 네트워크 트래픽 사용 세션 아이디만 클라이언트 쪽에서 사용하므로 상대적으로 적은 네트워크 트래픽 서버 측에서 토큰을 관리하지 않으므로 보안성 측면에서 조금 더 불리 서버 측에서 세션 정보를 관리하므로 보안성 측면에서 조금 더 유리 인증된 사용자 리퀘스트의..

[Spring Security] 권한 부여(Authorization, 인가) 처리 흐름

✅ 학습 목표 Spring Security의 권한 부여(Authorization, 인가) 흐름을 이해할 수 있다. Spring Security에서 권한 부여와 관련된 컴포넌트의 역할을 이해할 수 있다. AuthorizationFilter > Spring Security Filter Chain에서 URL을 통해 사용자의 액세스를 제한하는 권한 부여 Filter > SecurityContextHolder로 부터 Authentication을 획득 > SecurityContextHolder로 부터 획득한Authentication과 HttpServletRequest를 AuthorizationManager 에게 전달 AuthorizationManager > 권한 부여 처리를 총괄하는 매니저 인터페이스 Request..

[Spring Security] Spring Security 인증 구성요소 이해

✅ 학습 목표 Spring Security의 인증 처리 흐름을 이해할 수 있다. Spring Security의 핵심 컴포넌트인 인증 컴포넌트의 역할을 이해할 수 있다. Spring Security 인증 처리 흐름 더보기 > 사용자가 로그인 폼 등을 이용해 Username(로그인 ID)과 Password를 포함한 request를 Spring Security가 적용된 애플리케이션에 전송 여러 Filter들 중에서 UsernamePasswordAuthenticationFilter가 해당 요청을 받음 > UsernamePasswordAuthenticationFilter는 Username과 Password를 이용해 (2)와 같이 UsernamePasswordAuthenticationToken 을 생성 Userna..

[Spring Security] Spring Security 개요1

Spring Security란 Spring MVC 기반 애플리케이션의 인증(Authentication)과 인가기능(Authorization)을 지원하는 보안 프레임워크 Spring 에서 지원하는 Interceptor나 Servlet Filter를 이용해 직접 보안 기능을 구현할 수 있지만 웹 애플리케이션 보안 대부분의 기능을 Spring Security에서 안정적으로 지원하고 있기 때문에 Spring Security를 이용하는 것이 안전한 선택 다양한 유형의 사용자 인증 기능 적용 폼 로그인 인증 토큰 기반 인증 OAuth 2 기반 인증 LDAP 인증 애플리케이션 사용자의 역할에 따른 권한 레벨 적용 애플리케이션에서 제공하는 리소스에 대한 접근 제어 민감한 정보에 대한 데이터 암호화 SSL 적용 일반적으..

[인증/보안] mkcert를 이용한 인증서 발급 및 HTTPS 서버 구현과 그 과정에서 마주쳤던 에러들

실습 내용: mkcert를 이용한 인증서 발급 및 HTTPS 서버 구현 실습 목적: HTTPS의 개념 이해 실습 os: window10 1. Spring 웹 서버 프로젝트 생성 2. WSL 터미널에서 mkcert 설치 $ sudo apt install libnss3-tools $ wget -O mkcert https://github.com/FiloSottile/mkcert/releases/download/v1.4.3/mkcert-v1.4.3-linux-amd64 $ chmod +x mkcert $ sudo cp mkcert /usr/local/bin/ 설치 안되는 경우 $ sudo apt update 후에 다시 설치 3. 인증서 생성 $ mkcert -pkcs12 localhost 4. 생성된 local..