시리즈
Spring Security
- 1.Spring Security 같은 보안 FrameWork를 사용해야 하는 이유
애플리케이션 보호는 항상 흥미롭지만 동시에 너무 까다롭다. 우리가 고유한 코드나 프레임워크를 사용하면서 발생하는 웹 어플리케이션의 취약성을 매일 다방면으로 고려하고 대응해야 하기 때문이다. 해커들은 더 많은 취약점을
- 2.Spring Security 의 서블릿과 필터
어떤 자바 웹 어플리케이션이던지 요청을 받으면 그것을 HTTP프로토콜로 전송한다. 왜? 우리 브라우저들은 HTTP 프로토콜로만 이해할 수 있기 때문. HTTP프로토콜을 이용해서 내 브라우저들은 내 WAS에 요청을 보
- 3.Spring Security 의 내부 동작 과정
사용자는 자격 증명을 로그인 페이지에 입력하여 백엔드 웹 애플리케이션에 요청을 시작한다. 브라우저 모바일 웹 또는 Postman을 통해 클라이언트는 Spring Security 프레인워크로 보호된 이 요청을 전송한다
- 4.스프링 시큐리티 - SESSION (1) 간단 동작 원리
우리의 스프링 부트 어플리케이션은 서블릿 컨테이너라는 톰캣 서블릿 컨테이너 위에 존재하게 된다. 클라이언트로부터 요청이 들어오면, 먼저 서블릿 컨테이너가 그 요청을 받아서, 그 안에 필터들을 거친 후에, 스프링 부트
- 5.스프링 시큐리티 - SESSION (2) 프로젝트 생성
먼저 brew로 mysql을 설치해주고 실행해보자. 그 다음 brew services라고 터미널에 입력하면, 현재 brew 서비스 상태를 보여주는데, mysql이 실행중이지 않다면 brew services start
- 6.스프링 시큐리티 - SESSION (3) 인가 작업
config 패키지를 생성하고, SecurityConfig 클래스를 생성하여 시큐리티 인가 작업을 추가해보도록 하자. 스프링 시큐리티 6버전부터는 람다식 형태로 작성해야 한다. 또한, filterChain 방식으로
- 7.스프링 시큐리티 - SESSION (4) 커스텀 로그인
기존에는 인가가 필요한 경로에 접근 시, 스프링 시큐리티에서 제공하는 로그인 폼을 통해 로그인 했어야 했다. 이 디폴트 로그인 폼을 내가 만든 로그인 폼으로 변경하는 작업을 해보자. login.mustache 파일을
- 8.스프링 시큐리티 - SESSION (5) 비밀번호 암호화
스프링 시큐리티는 사용자 인증(로그인) 시 비밀번호에 대해 단방향 해시 암호화를 진행하여 저장되어있는 비밀번호와 대조한다. 따라서 회원가입시 비밀번호 항목에 대해서 암호화를 진행해야 한다. 단방향 / 양방향 암호화란
- 9.스프링 시큐리티 - SESSION (6) DB연동과 회원가입
의존성 주석을 먼저 해제한다. 그 다음 IntelliJ Ultimate버전 사용자라면 Database 탭으로 가서 Mysql을 등록해 준다. 다음으로 Default Query Console을 열고, 아래처럼 data
- 10.스프링 시큐리티 - SESSION (7) DB 기반 로그인 검증
UserEntity에 @Getter 어노테이션 달아주기. CustomUserDetails 클래스 작성. CustomUserDetailsService 클래스 작성.
- 11.Spring OAuth2 JWT방식(1) - 개요
강의를 들은 내용을 토대로 블로그를 작성. OAuth2.0 Client와 Spring Security 6 Framework를 활용하여 소셜로부터 인증을 받고 전달받은 유저 데이터를 활용하여 JWT를 발급하고 인가를