Spring Security JWT 5 : DB 연결 및 Entity 작성
·
Spring/Spring Security - JWT
데이터베이스 종류와 ORM회원 정보를 저장하기 위한 데이터베이스는 MariaDB 엔진의 데이터베이스를 사용한다. 접근은 Spring Data JPA를 사용한다.데이터베이스 의존성 주석 해제목차 2번에서 진행했던 build.gradle의 Spring Data JPA 및 MariaDB Driver 의존성 주석을 해제한다.변수 설정DB 연결 설정 : application.properties# MariaDB settingspring.datasource.driver-class-name=org.mariadb.jdbc.Driverspring.datasource.url=jdbc:mariadb://localhost:3306/jwtspring.datasource.username=rootspring.datasource.pa..
Spring Security JWT 4 : POSTMAN 설치
·
Spring/Spring Security - JWT
API 서버와 요청 클라이언트API 서버는 웹 서버와 달리 서버측으로 요청을 보낼 수 있는 페이지가 존재하지 않고 엔드 포인트만 존재하기 때문에 요청을 보낼  API 클라이언트가 필요하다.POSTMAN공식 홈페이지 주소https://www.postman.com/downloads/ Download Postman | Get Started for FreeTry Postman for free! Join 35 million developers who rely on Postman, the collaboration platform for API development. Create better APIs—faster.www.postman.comPOSTMAN 호출
Spring Security JWT 3 : SecurityConfig 클래스
·
Spring/Spring Security - JWT
SecurityConfig 클래스 설명스프링 시큐리티의 인가 및 설정을 담당하는 클래스이다. Security Config 구현은 스프링 시큐리티의 세부 버전별로 많이 상이하다. (지금은 스프링 시큐리티 6.2.1 버전으로 구현) 스프링 시큐리티 시리즈 : 버전별 Security Config 구현 방법https://www.youtube.com/watch?v=NdRVhOccuOsSecurity Config 클래스 기본 요소 작성시큐리티 JWT 구현을 위한 Config 클래스의 일부분 작성.먼저 기본적인 설정만 진행하고 프로젝트를 진행하면서 커스텀 필터 요소들을 추가 구현 예정. SecurityConfigpackage com.example.springjwt.config;import org.springframe..
Spring Security JWT 2 : 프로젝트 생성 및 의존성 추가
·
Spring/Spring Security - JWT
의존성필수 의존성LombokSpring WebSpring SecurityS1pring Data JPAMySQL Driver데이터베이스 의존성 주석 처리임시로 주석 처리 진행 (스프링 부트에서 데이터베이스 의존성을 추가한 뒤 연결을 진행하지 않을 경우 런타임 에러 발생)JWT 필수 의존성JWT 토큰을 생성하고 관리하기 위해 JWT 의존성을 필수적으로 설정해야 한다.설정은 build.gradle을 통해 진행하며 이때 버전을 선택하여 적용. JWT 0.12.3 버전 : build.gradledependencies { implementation 'io.jsonwebtoken:jjwt-api:0.12.3' implementation 'io.jsonwebtoken:jjwt-impl:0.12.3' i..
Spring Security JWT 1 : 목표 및 동작 원리
·
Spring/Spring Security - JWT
실습 목표스프링 시큐리티 6 프레임워크를 활용하여 JWT 기반의 인증/인가를 구현하고 회원 정보 저장(영속성)MariaDB 데이터베이스를 활용한다.서버는 API 서버 형태로 구축한다. (웹 페이지를 응답하는 것이 아닌 API 클라이언트 요청을 통해 데이터 응답만 확인함)구현인증 : 로그인인가 : JWT를 통한 경로별 접근 권한회원가입JWT 인증 방식 시큐리티 동작 원리회원 가입 : 내부 회원 가입 로직은 세션 방식과 JWT 방식의 차이가 없다.로그인 (인증) : 로그인 요청을 받은 후 세션 방식은 서버 세션이 유저 정보를 저장하지만 JWT 방식은 토큰을 생성하여 응답한다.경로 접근 (인가) : JWT Filter를 통해 요청의 헤더에서 JWT를 찾아 검증을 하고 일시적 요청에 대한 Session을 생성한..
MVC 패턴이란?
·
Spring
MVC 패턴(Model-View-Controller)은 소프트웨어 아키텍처 패턴 중 하나로, 애플리케이션을 모델(Model), 뷰(View), 컨트롤러(Controller) 세 가지 역할로 나눠서 구성하는 방식입니다. 이 패턴은 코드의 재사용성, 유지보수성, 확장성을 높이는 데 유용하며, 특히 웹 애플리케이션 개발에서 널리 사용됩니다.MVC 패턴의 구성 요소와 역할1. Model (모델)애플리케이션의 핵심 데이터와 비즈니스 로직을 담당합니다.데이터베이스와 상호작용하여 데이터를 가져오거나 저장합니다.상태를 저장하고 관리하며, 변경 사항을 알릴 수 있습니다.역할:데이터를 정의하고 관리 (예: 객체, 데이터베이스 레코드).비즈니스 로직 실행.뷰나 컨트롤러가 요청한 데이터를 제공합니다.2. View (뷰)사용자..
Spring Web MVC - Http 요청
·
Spring
1. HTTP 요청과 Spring MVCSpring Boot는 HTTP 요청을 처리하기 위해 DispatcherServlet이라는 중앙 컨트롤러를 사용합니다. DispatcherServlet은 클라이언트의 요청을 받아, 적절한 컨트롤러 메서드에 요청을 전달하고 결과를 반환합니다.2. HTTP 요청 처리 흐름1. 클라이언트 요청브라우저나 HTTP 클라이언트가 /form_ok.do와 같은 URL로 요청을 보냅니다.2. DispatcherServlet 요청 수신Spring Boot의 DispatcherServlet이 모든 HTTP 요청을 가로챕니다.3. Handler MappingDispatcherServlet은 요청 URL에 해당하는 컨트롤러와 메서드를 찾습니다.4. 컨트롤러 메서드 실행요청 매핑된 컨트롤러..
Spring Boot Web 프로젝트에서 JSP 적용하기
·
Spring
1. Gradle 의존성 추가build.gradle에 JSP를 사용하기 위한 의존성을 추가dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' // Spring Web 기본 의존성 implementation 'org.apache.tomcat.embed:tomcat-embed-jasper' // JSP 렌더링을 위한 Tomcat Jasper implementation 'javax.servlet:jstl:1.2' // JSTL 지원}tomcat-embed-jasper:JSP를 처리하기 위한 Jasper JSP 엔진.jstl:JSP에서 JSTL 태그를 사용할 수 있도록 지원.2. 디렉터리 구조 설정Spr..
Spring Web - Controller와 RestController
·
Spring
어노테이션 간단 비교:@Controller = 웹 페이지 반환용 컨트롤러.@RestController = 데이터(JSON/XML) 반환용 컨트롤러 (@Controller + @ResponseBody).1. @Controller역할: 웹 애플리케이션에서 뷰(View)를 반환하기 위한 컨트롤러로 사용됨주요 특징:메서드의 반환값은 뷰의 이름(String)이 되며, 뷰 리졸버(View Resolver)를 통해 실제 뷰(예: JSP, Thymeleaf 템플릿)가 렌더링됩니다.모델(Model) 객체를 사용하여 뷰에 데이터를 전달할 수 있습니다.사용 예시: import org.springframework.stereotype.Controller;import org.springframework.ui.Model;impor..
Spring Boot - Spring Web
·
Spring
1. Spring Web이란?Spring Web은 웹 애플리케이션 개발을 위한 모듈, HTTP 요청과 응답을 처리하는 기능을 제공주요 컴포넌트 :Spring MVC(Model-View-Controller) :웹 애플리케이션의 구조적 설계 지원REST API 개발 :JSON, XML과 같은 데이터 형식으로 클라이언트와 서버 간 통신을 간소화Handler와 Controller :URL 요청을 처리하고 응답 데이터를 생성2. Spring Boot와 Spring WebSpring Boot는 Spring Web 모듈을 내장하여 설정 작업을 자동화한다.⇒ 최소한의 설정으로 HTTP 서버, REST API, HTML 렌더링 등을 쉽게 구현 가능내장 서버 :tomcat, jetty같은 웹 서버가 내장되어 별도의 설치 ..