대표13 [개념] JWT(JSON Web Token)에 대해 JWT의 정의JSON 웹 토큰(JWT)은 JSON 객체 형태로 당사자 간에 정보를 안전하게 전송하는 간결하고 독립적인 방식을 정의하는 개방형 표준( RFC 7519 )이다. 이 정보는 디지털 서명되어 있으므로 검증 및 신뢰가 가능하다. JWT는 비밀 키( HMAC 알고리즘 사용) 또는 RSA 또는 ECDSA를 사용하는 공개/개인 키 쌍을 사용하여 서명할 수 있다. JWT는 당사자 간 비밀 유지를 위해 암호화될 수 있지만, 여기서는 서명된 토큰 에 초점을 맞춘다. 서명된 토큰은 토큰에 포함된 클레임의 무결성을 검증할 수 있는 반면, 암호화된 토큰은 다른 당사자에게 해당 클레임을 숨긴다. 공개 키/개인 키 쌍을 사용하여 토큰에 서명하는 경우, 서명은 개인 키를 보유한 당사자만이 토큰에 서명했음을 증명한다. .. 2025. 7. 7. 스프링부트(spring boot) 기본기 다지기 ※ 아래 영상을 참고하여 학습하였습니다. 스프링 vs 스프링부트 스프링부트 : 스프링 프레임워크에서 제공해주는 프로젝트 스프링(스프링 프레임워크) : 자바에서 가장 많이 사용되는 프레임워크의존성 주입(DI Dependency Injection), 제어역전(IOC 스프링 프레임워크의 대표적 모듈- Spring JDBC- Spring MVC- Spring AOP- Spring ORM- Spring Test- Spring Expression Language(SpEL) 스프링 부트가 나오게 된 이유스프링은 다양한 기능을 제공하고 있지만, 그 기능을 사용하기 위한 설정에 많은 시간이 걸림예) Transaction Manager, Hiberante Datasource, Entity Manager, Sessio.. 2025. 5. 27. [Spring boot] 게시판 만들기 (4주차 : 페이징 처리, 페이지 블럭 출력하기, 게시판 검색 기능 추가) ※ [한코딩] 게시판 만들기 유튜브를 참고하여 진행하는 프로젝트입니다. 개발 환경사용언어 : Java프레임 워크 : Spring boot통합 개발 환경 : IntelliJ데이터베이스 : MariaDB뷰 템플릿(템플릿 엔진) : Thymeleaf 프로젝트 진행 순서 [Spring boot] 게시판 만들기 (1주차 : 개발 환경 세팅, 프로젝트 생성)※ [한코딩] 게시판 만들기 유튜브를 참고하여 진행하는 프로젝트입니다. 개발 환경사용언어 : Java프레임 워크 : Spring boot통합 개발 환경 : IntelliJ데이터베이스 : MariaDB뷰 템플릿(템플릿 엔진)zprograming.tistory.com 1. 개발 환경 세팅 - IntelliJ Community 다운로드 - MariaD.. 2025. 5. 22. [개념] JAVA의 어노테이션과 라이브러리 어노테이션이란?자바에서 클래스, 메서드, 필드 등에 메타데이터(데이터를 설명하는 데이터)를 제공하기 위한 문법이다.코드에 대해 추가적인 정보를 표시하기 위한 도구라고 생각하면 되고, 컴파일러나 프레임워크(Spring 등)가 이 정보를 해석해서 특정 기능을 자동으로 수행한다. 어노테이션 기본 예시@Overridepublic String toString() { return "Hello";} > 부모 클래스를 Overriding 했다는 것을 알려주는 어노테이션 어노테이션의 종류와 기능핵심 클래스 레벨 어노테이션 @SpringBootApplication 스프링 부트 애플리케이션의 진입점. @Configuration, @EnableAutoConfiguration, @ComponentScan을 포함한 복합.. 2025. 5. 21. [개념] 세션 기반 로그인 세션 기반 로그인이란?세션(Session) 기반 로그인은 사용자가 로그인하면 서버가 고유한 세션 ID를 생성하고, 해당 ID를 클라이언트(브라우저)에 전달해서 사용자의 로그인 상태를 유지하는 방식이다. 동작 방식 1. 로그인 요청 → 사용자 ID/PW 전송 2. 서버에서 인증 확인 → 세션 생성 (세션 ID 발급) 3. 세션 ID를 쿠키에 담아 응답 → 클라이언트는 쿠키에 세션 ID 저장 4. 이후 요청 시 쿠키의 세션 ID 자동 전송 → 서버는 세션 저장소에서 사용자 정보 조회 → 로그인 유지 세션 저장소와 관리 방식1. 메모리 기반기본적인 방식. 서버 메모리에 세션 저장재시작 시 세션 초기화됨2. 외부 저장소DB, Redis 등 외부 저장소에 세션 정보 저장서버 간 세션 공.. 2025. 5. 15. [개념] 인증(Authentication) vs 인가(Authorization) 인증과 인가, 헷갈리는 이유 많은 개발자들이 인증(Authentication)과 인가(Authorization)을 헷갈리는 이유는 이 두 개념이 거의 동시에 발생하고, 비슷한 맥락에서 다뤄지기 때문이다. 1. 로그인 성공시 모든 절차가 끝난 줄 알기 때문이다.대부분 시스템은 로그인하면 곧바로 무언가를 할 수 있기 때문에, '로그인 = 권한 부여'라고 오해하기 쉽다.하지만 실제로는 로그인은 누구인지 확인일 뿐이고, 권한은 그 뒤에 따로 체크된다. 2. 비슷한 타이밍에 발생함인증 → 인가 순서로 바로 이어지기 때문에, 사용자 입장에서는 '한 번에 처리되는 과정'으로 느껴진다.그래서 둘을 구분하지 않고 그냥 '접근 가능 여부 판단'으로 한꺼번에 생각하게 된다. 3. 용어가 비슷하고 추상적임영어 단어인 Auth.. 2025. 5. 15. 이전 1 2 3 다음