[백엔드 기초] Filter, Spring Security
·
Spring/백엔드 기초
어제 인증 인가 개념을 통한 회원가입, 로그인 화면 구성과 접근방식을 알아보았다. 학습했던 내용에 추가적으로 알아볼 Filter, Security 내용에 대해 정리하고자 한다. Filter란? : Filter란 Web 애플리케이션에서 관리되는 영역으로 Client로부터 오는 요청과 응답에 대해 최초/최종 단계의 위치이며 이를 통해 요청과 응답의 정보를 변경하거나 부가적인 기능을 추가할 수 있음주로 로깅 및 보안 처리에 활용되며 인증, 인가와 관련된 로직들을 처리할 수 있음 인증, 인가와 관련된 로직을 비즈니스 로직과 분리하여 관리할 수 있다는 장점이 있음.- Filter ChainFilter는 한 개만 존재하는 것이 아니라 여러개가 Chain 형식으로 묶여서 처리될 수 있음 아래의 실습 과정으로 경험했..
[백엔드 기초] 쿠키를 활용한 인증 인가 개념 실습
·
Spring/백엔드 기초
회원가입 및 로그인, 계정의 권한에 따른 접근불가 페이지 구현까지 다양한 기능을 실습한 하루였다. 오늘은 실습을 진행하면서 경험했고 새로 알게 된 내용에 대해 정리하고자 한다. 1. JwtUtil 클래스 만들기 : Util 클래스란 특정 매개변수 (파라미터) 에 대한 작업을 수행하는 메서드들이 존재하는 클래스를 뜻함실습 과정에서 클래스는 아래와 같은 기능을 수행시키기 위해 코드를 구현했다. JWT 생성// 토큰 생성public String createToken(String username, UserRoleEnum role) { Date date = new Date(); return BEARER_PREFIX + Jwts.builder() ...
[백엔드 기초] 백엔드 기초 개념정리
·
Spring/백엔드 기초
👍 무엇을 새롭게 알았는지Spring에서 Bean의 개념에 대한 학습을 진행- 같은 타입의 Bean이 두개일 때 발생하는 현상을 확인하기food라는 패키지 내에 Food(interface), Chicken(class), Pizza(class)를 생성하여 연결하였음 연결되는 부분은 같은 Food 타입으로 연결되는 상황// Food.java (interface)package com.sparta.springauth.food;public interface Food { void eat();} // Chicken.java (class)package com.sparta.springauth.food;import org.springframework.stereotype.Component;@Componentpubli..
[백엔드 기초] 기초 개념 정리하기
·
Spring/백엔드 기초
ORM(Object Relational Mapping)이란 ?: 객체 지향 프로그래밍 언어에서 데이터베이스 테이블을 객체로 매핑하여 SQL을 직접 작성하지 않고 데이터를 조작할 수 있도록 해주는 기술즉, 관계형 데이터베이스와 객체 지향 프로그래밍 사이의 변환 기법으로 객체와 테이블의 구조를 자동으로 연결해 줌 ORM의 동작 원리: 객체(Entity) ↔︎ 테이블 : 클래스와 테이블이 매핑되고, 클래스의 속성은 테이블의 컬럼에 대응 Hibernate 동작 원리: Hibernate는 JPA(Java Persistence API) 표준을 구현한 대표적인 ORM 프레임워크로, 객체와 관계형 데이터베이스 간 매핑을 처리하고 SQL 실행을 자동화하는 역할을 함 JPA와 Hibernate의 관계: JPA는 표준, H..
[Spring 실습] 강의 내용 진행 중 문제점 정리
·
Spring/Spring 실습
☠️ 트러블 슈팅발생한 Issue 강의 내의 프로젝트 파일대로 구현했으나 컴파일이 되지 않고 지속적으로 두 줄의 에러가 발생java: java.lang.ExceptionInInitializerErrorcom.sun.tools.javac.code.TypeTag :: UNKNOWN해결방법 / 찾아본 내용위 두줄의 에러코드를 분석해보자면 아래와 같음Javac 내부에서 타입 정보를 유추하지 못함잘못된 클래스 로딩 순서→ 이는 프로젝트 생성 단계에서 자바 버전의 차이로 발생했던 이슈로 확인했음SDK 버전이 24버전으로 되어있었던 것을 corretto-17로 변경하여 적용시키고 컴파일을 진행하니 정상적으로 실행되는 모습을 확인할 수 있었음. 기초부터 탄탄히 잡고 넘어갈 것, 사소한 실수로 처음보는 에러 메세지를 ..
[Spring] 일정 관리 앱 만들기
·
Spring/Spring 실습
☠️ 트러블 슈팅발생한 Issue 도전과제 진행 중 댓글 생성 및 작성하기 기능 연결이 어려웠음일정 생성 및 관리의 기능과 댓글 생성 및 관리의 기능을 분리해야 하는 것까지는 접근을 했음기능 분리 이후의 접근 방식을 어떻게 해야할까 고민해결방법 / 찾아본 내용댓글 생성 및 관리하기 기능 연결우선 기존의 Event(일정) CRUD 기능과 Comment(댓글) 생성기능의 분리를 위해 디렉토리로 구분을 하였음양방향 연관관계의 개념을 이해하고 접근했어야 했음진행 간 단일 조회시에 생성한 댓글이 연결되어야 하는 부분이 있어 별도의 클래스파일을 통해 연결하였음.→ 전체 조회 시 댓글이 나오는 이슈가 있어 해당 부분을 해결하는 과정에서 추가를 진행 EventService에서 댓글 배열을 불러와 응답과정에 객체로 담아..