본문 바로가기
728x90

분류 전체보기159

JWT를 이용한 인증, 인가 구현 과정 기록 지난 글에서는 jwt를 생성하는 JwtProvider 구현까지 진행했었는데, 이번에는 비밀번호 암호화 + jwt 생성 구현물을 이용해서 SpringSecurity를 이용한 특정 자원에 대한 인증과 인가 조건을 구현해보려 합니다. 사이드 프로젝트 JWT 적용 과정 기록 오늘은 주말을 맞아 jwt를 공부할겸, 여러 기술 블로그와 강의를 참고해서 jwt를 공부하고 사이드 프로젝트에 적용해 봤고, 이 내용을 간단하게 기록해보려 합니다. JWT에 대해 잘 정리된 글들과 kkkdh.tistory.com 토큰 기반 인증 구현 Spring Security를 처음 공부해서 그런지 우선 WebSecurityConfigurer를 상속 받는 설정 파일부터 이해하기가 힘들었습니다. 일단 이것부터 제대로 공부해보니까 WebSec.. 2023. 3. 2.
Servlet에 대한 개념 정리 Servlet (서블릿) 이란? 서블릿은 웹 서버에서 가동되는 자바 기반 프로그램이며, HTTP 기반 통신에서 client와 server 사이의 request와 response를 다루기 위해 설계되었습니다. 서블릿은 client의 request에 기반한 동적인 HTML 페이지나, json, xml 형태의 데이터들을 만들기 위해 사용되며, 이 뿐만 아니라 cookie, session 등을 다뤄 stateless한 HTTP 통신에서 상태 정보를 다룰 수 있도록 돕습니다. 위 그림을 보면, HTTP 통신에 따라 client - server간에 request를 보내고 response를 받아오는 과정에서 진행해야할 작업이 굉장히 많음을 파악할 수 있습니다. 여기서 핵심적인 비즈니스 로직 구현을 제외한 다른 부분을.. 2023. 3. 1.
Spring Security를 이용한 비밀번호 암호화 로직 구현 과정 기록 오늘은 회원 관리 시스템에서 평문(plain text)으로 암호를 저장하는 것은 보안상 굉장히 위험하기 때문에, 이를 Spring Security를 이용해 암호화(Encryption)하는 과정을 진행하고, 기록하려 합니다. Spring Security 의존성 추가 양방향과 단방향 암호화란 뭘까? 제가 적용할 암호화는 두 가지 중에서 단방향 암호화입니다. 그전에 양방향과 단방향 암호화가 각각 무엇을 의미하는지 찾아봤습니다. 양방향 암호화: 암호화된 암호문을 복호화할 수 있는 암호화 단방향 암호화: 암호화된 암호문을 복호화 불가능한 암호화 양방향 암호화는 또 대칭키를 사용하는 방식과 비대칭키를 사용하는 방식으로 나뉜다고 하는데, 이번에 필요한 개념은 아니기 때문에, 여기까지만 정리하고 넘어가겠습니다. 단방향.. 2023. 2. 28.
사이드 프로젝트 JWT 적용 과정 기록 오늘은 주말을 맞아 jwt를 공부할겸, 여러 기술 블로그와 강의를 참고해서 jwt를 공부하고 사이드 프로젝트에 적용해 봤고, 이 내용을 간단하게 기록해보려 합니다. JWT에 대해 잘 정리된 글들과 실습 예시들이 많기 때문에, 그러한 글들을 참고해서 적용한 과정을 이해한 방식과 함께 정리해 보겠습니다. JWT란? JWT는 JSON Web Token의 약자로 클라이언트와 서버 또는 서비스와 서비스 사이의 통신에서 인증 (Authentication) 및 권한 인가(Authorization)을 위해 사용하는 토큰을 의미합니다. JWT는 다음의 세 가지 부분으로 구성됩니다. header: token 서명에 사용되는 알고리즘에 대한 정보가 포함됩니다. payload: 사용자 정보 또는 권한 부여 요청과 같은 전송해.. 2023. 2. 26.
DataBase Index 개념 정리하기 Index에 대해서 공부해 보자😀 오늘은 index란 것에 대해서 정리해 볼까 합니다. 아무래도 DB를 구축하고 운용하는 것에 그치지 않고, 성능을 개선하기 위해 index라는 자료 구조가 꼭 필수적이기 때문에 개념을 정리하게 되었습니다. Index 란? 일단 인덱스는 서두에서도 언급했다시피 자료 구조에 해당합니다. 이 자료 구조는 데이터 테이블에 저장된 데이터들을 조회하는 속도를 빠르게 하기 위해 사용합니다. Index와 연관된 기본 용어부터 정리해봅시다. search-key: search-key는 하나 이상의 속성들(attributes) 집합입니다. index file: search-key와 pointer를 쌍으로 하는 records들로 구성된 형태입니다. 여기서 search-key를 구성하는 속성들.. 2023. 2. 24.
[JPA] JPQL 2 - 중급 문법 정리 경로 표현식 간단하게 .(점)을 찍어 객체 그래프를 탐색하는 것을 의미한다. 접근하는 필드의 타입에 따라서 경로 표현식의 종류가 3가지로 나뉘게 된다. 상태 필드 m.username 단일 값 연관 필드 m.team t 컬렉션 값 연관 필드 m.orders o 어떤 필드에 접근하는지에 따라 내부적인 JPA의 동작 방식이 달라지기 때문에, 유의해서 봐야할 개념이라고 한다. 경로 표현식에 대한 용어 정리 우선 상태 필드와 연관 필드로 접근할 수 있는 필드의 경로가 나뉜다. 상태 필드 (status field): 단순히 값을 저장하기 위한 필드 연관 필드 (association field): 연관관계를 위한 필드 단일 값 연관 필드: @ManyToOne, @OneToOne 관계에 대한 즉, 하나의 엔티티 대상 .. 2023. 2. 24.
728x90