목록스파르타 코딩 클럽 | 자바 심화 과정 (50)
LUMI_dev

Filter : Web 애플리케이션에서 관리되는 영역: Client로부터 오는 요청과 응답에 대해 최초/최종 단계의 위치 : 요청과 응답의 정보를 변경하거나 부가적인 기능 추가 가능: @CookieValue라는 어노테이션을 사용하지 못함 : 주로 범용적으로 처리해야 하는 작업에 활용 (ex. 로깅, 보안 처리) : 인증과 인가에 관련된 로직들 처리 장점)인증, 인가와 관련된 로직을 비즈니스 로직과 분리하여 관리할 수 있음 Filter Chain Filter는 여러 개가 Chain 형식으로 묶여서 처리될 수 있음 실습) 요청 URL의 인가 처리 및 인증 처리를 진행할 수 있는 Filter와 요청 URL을 로깅해주는 Filter의 구현 LoggingFilter.javapackage com.sparta.s..

라이브러리를 추가해야 함build.gradle에 JWT 부분 추가 + 재빌드(코끼리)plugins { id 'java' id 'org.springframework.boot' version '3.4.2' id 'io.spring.dependency-management' version '1.1.7'}group = 'com.sparta'version = '0.0.1-SNAPSHOT'java { toolchain { languageVersion = JavaLanguageVersion.of(17) }}configurations { compileOnly { extendsFrom annotationProcessor }}repositories { ma..
로그인을 하고 완료되면 JWT 토큰을 만들어서 클라이언트에 반환하도록 하겠음 반환 방법 중 쿠키를 직접 생성해서 JWT 토큰을 담고, Response 객체에 담는 식으로 구현 예정 .orElseThrow() 비어있으면 예외 던짐 UserController.java@PostMapping ("/user/signup")public String signup(SignupRequestDto requestDto) { //객체로 받고 있음 userService.signup(requestDto); return "redirect:/api/user/login-page";}//로그인@PostMapping("/user/login")public String login(LoginRequestDto requestDto, ..

User 테이블컬럼명컬럼타입중복허용설명idLongX테이블 ID (PK)usernameStringX회원 IDpasswordStringO패스워드emailStringX이메일 주소roleStringO역할 1) 사용자: USER 2) 관리자: ADMIN User.javapackage com.sparta.springauth.entity;import jakarta.persistence.*;import lombok.Getter;import lombok.NoArgsConstructor;import lombok.Setter;@Entity@Getter@Setter@NoArgsConstructor@Table(name = "users") //여기에 작성한 이름대로 테이블이 생길 거임public class User { @..

프로젝트 설정 build.gradle : JPA, MySQL 추가// JPAimplementation 'org.springframework.boot:spring-boot-starter-data-jpa'// MySQLruntimeOnly 'com.mysql:mysql-connector-j' application.properties에 추가 spring.datasource.url=jdbc:mysql://localhost:3306/authspring.datasource.username=rootspring.datasource.password={비밀번호}spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driverspring.jpa.hibernate.ddl-auto=..

쿠키와 세션 모두 HTTP 에 상태 정보를 유지(Stateful)하기 위해 사용쿠키와 세션을 통해 서버에서는 클라이언트 별로 인증 및 인가 쿠키: 클라이언트에 저장될 목적으로 생성한 작은 정보를 담은 파일 구성요소Name (이름): 쿠키를 구별하는 데 사용되는 키 (중복될 수 없음)Value (값): 쿠키의 값Domain (도메인): 쿠키가 저장된 도메인Path (경로): 쿠키가 사용되는 경로Expires (만료기한): 쿠키의 만료기한 (만료기한 지나면 삭제됩니다.) 세션 서버에서 일정시간 동안 클라이언트 상태를 유지하기 위해 사용서버에서 클라이언트 별로 유일무이한 '세션 ID' 부여클라이언트 별 필요한 정보를 서버에 저장 서버에서 생성한 '세션 ID' 는 클라이언트의 쿠키값('세션 쿠키')으로 저장 동..