본문 바로가기

개인공부/스프링 부트 3 백엔드 개발자 되기11

스프링 부트 - 8장 스프링 시큐리티로 로그인/로그아웃, 회원 가입 구현하기 8장 스프링 시큐리티로 로그인/로그아웃, 회원 가입 구현하기 사전 지식: 스프링 시큐리티 스프링 시큐리티(spring security)는 스프링 기반의 애플리케이션 보안(인증, 인가, 권한)을 담당하는 스프링 하위 프레임 워크 인증과 인가에 대한 개념을 알아야 한다. 인증과 인가 인증 (사용자의 신원을 입증하는 과정) 예를 들어 사용자가 사이트에 로그인을 할 때 누구인지 확인하는 과정을 인증 인가 (authorization) 인가는 인증과는 다르다. 인가는 사이트의 특정 부분에 접근할 수 있는지에 권한을 확인하는 작업 예를 들어 관리자는 관리자 페이지에 들어갈 수 있지만 일반 사용자는 관리자 페이지에 들어갈 수 없다. 권한을 확인하는 과정을 인가라고 한다. 스프링 시큐리티 스프링 시큐리티는 스프링 기반 .. 2023. 7. 5.
스프링 부트 - 9장_JWT로 로그인/로그아웃 구현하기 JWT로 로그인/로그아웃 구현하기 토큰 기반 인증이란? 사용자 인증 확인 방법에는 서버 기반 인증과 토큰 기반 인증이 있다. 세션 기반 인증 스프링 시큐리티에서는 기본적으로 세션 기반 인증을 제공한다. 세션 기반 인증을 사용해 사용자마다 사용자의 정보를 담은 세션을 생성하고 저장해서 인증을 합니다. 이를 세션 기반 인증이라고 한다. 토큰 기반 인증 토큰을 사용하는 방법입니다. 토큰은 서버에서 클라이언트를 구분하기 위한 유일한 값인데 서버가 토큰을 생성해서 클라이언트에게 제공하면 클라이언트는 이 토큰을 갖고 있다가 여러 요청을 이 토큰과 함께 신청합니다. 그럼 서버는 토큰만 보고 유효한 사용자인지 검증한다. 토큰을 전달하고 인증 받는 과정 토큰은 요청과 응답에 함께 보냅니다. 다음은 클라이언트와 서버가 토.. 2023. 7. 5.
스프링 부트 - 6장 레벨2 스프링 부트 3로 블로그 제대로 만들기 6장 레벨2 스프링 부트 3로 블로그 제대로 만들기 네트워크에서 API는 프로그램 간에 상호 작용하기 위한 매개체를 말한다. 식당에서 벌어지는 일을 비유를 들어 API를 설명한다. 식당으로 알아보는 API 우리가 식당에 가면 -> 점원에서 요리를 준분 점원은 주방에 가서 "요리를 만들어 달라"라고 요청 요리가 완성되면 다시 점원이 손님에서 요리를 전달 그림 128 웹의 장점을 최대한 활용하는 REST API REST는 Representational State Transfer를 줄인 표현 자원을 이름으로 구분해 자원의 상태를 주고받는 API 방식 URL의 설계 방식 REST API의 특징 REST API는 서버/클라이언트 구조, 무상태, 캐시 처리 가능, 계층화, 인터페이스 일관성 같은 특징이 있다. RE.. 2023. 7. 4.
스프링 부트 - 5장_데이터베이스 조작이 편해지는 ORM 5장 데이터베이스 조작이 편해지는 ORM SQL을 몰라도 데이터베이스를 조작할 수 있게 해주는 편리한 도구인 ORM을 공부하겠습니다. ORM은 SQL공부를 한 적이 있다면 그 편리함을 더 크게 느낄수 있는 도구인데요 스프링 부트의 ORM 기술 표준인 스프링 JPA와 이를 구현하기 위한 하이버네이트를 사용합니다. ORM은 "Object-Relational Mapping"의 약어입니다. ORM은 객체 지향 프로그래밍 언어와 관계형 데이터베이스 간의 데이터 변환과 상호작용을 자동화하기 위해 사용되는 기술입니다. ​ JPA는 "Java Persistence API"의 약어입니다. JPA는 자바에서 ORM을 구현하기 위한 표준 인터페이스를 제공하는 API입니다. JPA를 사용하여 객체와 데이터베이스 간의 매핑과 .. 2023. 6. 29.