전체 글172 JWT Token을 이용한 인증 설정과 비밀번호 암호화 프로세스 JWT(Json Web Token)이란?JSON 형식으로 이루어진 클라이언트와 서버 간의 인증 및 인가를 위한 표준화된 방법주로 웹 애플리케이션에서 사용되며, 사용자 인증 정보를 안전하게 전송하기 위해 설계됨 인터넷 사이트에서 콘서트 티켓을 구입했다고 생각해봅시다.콘서트홀에 입장할때마다 직원에게 인터넷 사이트 아이디와 비밀번호, 내가 누구인지를 매번 확인해주려면 직원도 나도 힘들거에요.그래서 간단하게 앱이나 실물로 받은 티켓을 보여주고 입장하죠.JWT도 이와 비슷합니다.JWT의 구조헤더 (Header)토큰의 유형과 서명 알고리즘을 포함합니다.예를 들어, JWT의 경우 {"alg": "HS256", "typ": "JWT"}와 같은 JSON 객체로 표현됩니다.페이로드 (Payload)사용자의 인증 및 인가 .. 2024. 12. 30. RESTful API 설계의 핵심 요소: 컨트롤러, 서비스, DAO, DTO 클래스 알아보기 클라이언트가 서버에 요청한 내용을 하나의 클래스에서 모두 처리한다고 생각해보자.어떤 HTTP 요청이 들어왔는지 확인해서, DB에서 어떻게 가져와야할지, 가져온 데이터를 어떻게 처리할지, 그리고 어떻게 보내줄지를 모두 한 클래스에서 작성하게 된다면...간단한 메서드 정도는 문제 없을지 몰라도메서드 로직이 복잡해지고, 유지보수 시 수정해야할 코드가 생기게 되면 막막할것이다. 따라서 클래스별로 역할을 구분할 필요가 있다.그럼 어떻게 역할 구분을 해야할까? 사용자 요청: 사용자가 웹 애플리케이션에 요청을 보냅니다.Controller:요청을 받아 해당 메서드를 호출합니다.필요한 데이터를 DTO 형태로 Service에 전달합니다.Service:Controller로부터 받은 DTO를 기반으로 비즈니스 로직을 실행합.. 2024. 12. 24. Java Maven 의존성 추가하기 https://maeilcoding.tistory.com/108 Spring Boot : Spring Initializr로 프로젝트 생성하기Spring Boot란스프링 프레임워크의 복잡한 설정 과정을 간소화하고, 빠르게 애플리케이션을 개발할 수 있도록 도와주는 도구최소한의 설정만으로도 바로 실행 가능한 독립형(Spring Boot가 자체적으maeilcoding.tistory.com Spring Initializr 에서 의존성을 미리 추가하여 프로젝트를 시작 할 수 도 있지만필요한 의존성을 나중에 추가 할 수도 있습니다. pom.xml 파일을 열고 태그 안에 새로운 의존성을 추가 https://mvnrepository.com/Maven Repository 사이트에서 원하는 의존성을 검색, 희망 버.. 2024. 12. 23. JDBC 예제 - 유저관리 APl DELETE https://maeilcoding.tistory.com/117 예제 - 유저관리 API GET Allhttps://maeilcoding.tistory.com/116 예제 - 유저관리 API GET idhttps://maeilcoding.tistory.com/115 Controller, DAO, DTO 알아보기 // 예제 - 유저관리 API POSTDAO (Data Access Object) 란?데이터베이스나 기타 영속성 메커니즘에maeilcoding.tistory.com마지막으로 유저 삭제 API를 만들어보겠습니다. 유저 이름과 이메일을 관리하는 API만들기 예제 // todo 5 deletUser1. 명세서 확인2. Postman에 리퀘스트 작성3. Controller에서 deletUser 메서드 .. 2024. 12. 22. JDBC 예제 - 유저관리 APl PUT https://maeilcoding.tistory.com/117 예제 - 유저관리 API GET Allhttps://maeilcoding.tistory.com/116 예제 - 유저관리 API GET idhttps://maeilcoding.tistory.com/115 Controller, DAO, DTO 알아보기 // 예제 - 유저관리 API POSTDAO (Data Access Object) 란?데이터베이스나 기타 영속성 메커니즘에maeilcoding.tistory.com 유저 정보를 수정하는 API를 만들어봅시다. 유저 이름과 이메일을 관리하는 API만들기 예제 // todo 4 updateUserInfo1. 명세서 확인2. Postman에 리퀘스트 작성3. Controller에서 updateUse.. 2024. 12. 22. JDBC 예제 - 유저관리 API GET All https://maeilcoding.tistory.com/116 예제 - 유저관리 API GET idhttps://maeilcoding.tistory.com/115 Controller, DAO, DTO 알아보기 // 예제 - 유저관리 API POSTDAO (Data Access Object) 란?데이터베이스나 기타 영속성 메커니즘에 접근하는 객체 목적: 데이터 접근 로직과 비즈니스maeilcoding.tistory.com이번엔 전체 사용자 조회 API를 만들어봅시다. 유저 이름과 이메일을 관리하는 API만들기 예제 // todo 3 getAllUserInfo1. 명세서 확인2. Postman에 리퀘스트 작성3. Controller에서 getAllUsersInfo 메서드 작성 시작//todo 3 getA.. 2024. 12. 22. JDBC 예제 - 유저관리 API GET id https://maeilcoding.tistory.com/115 Controller, DAO, DTO 알아보기 // 예제 - 유저관리 API POSTDAO (Data Access Object) 란?데이터베이스나 기타 영속성 메커니즘에 접근하는 객체 목적: 데이터 접근 로직과 비즈니스 로직을 분리기능: CRUD(Create, Read, Update, Delete) 작업 수행사용이유: - 코maeilcoding.tistory.com저번 글에서 작성한 Post 리퀘스트가 성공적으로 response 되는지 확인해봅시다. 유저 이름과 이메일을 관리하는 API만들기 예제 // todo 2 getUserById1. 명세서 확인2. Postman에 리퀘스트 작성 * POST, PUT, 그리고 PATCH 메서드는.. 2024. 12. 22. DAO, DTO 알아보기 // 예제 - 유저관리 API POST DAO (Data Access Object) 란?데이터베이스나 기타 영속성 메커니즘에 접근하는 객체 목적: 데이터 접근 로직과 비즈니스 로직을 분리기능: CRUD(Create, Read, Update, Delete) 작업 수행사용이유: - 코드 재사용성 향상 - 데이터 접근 방식 변경 시 유연성 제공 DTO (Data Transfer Object)프로세스 간 데이터를 전달하는 객체목적: 데이터 전송 최적화특징: - 비즈니스 로직 없이 데이터만 포함- 일반적으로 단순한 getter/setter 메서드만 가짐장점:- 네트워크 호출 횟수 감소- 데이터 캡슐화* DAO와 DTO의 관계- DAO는 데이터베이스와 상호작용하여 데이터를 가져오고, 이를 DTO에 담아 비즈니스 계층으로 전달한다.- DTO는 여러 .. 2024. 12. 22. RDS와 Java Server연결하기 - EC2 터널링으로 안전한 데이터베이스 접근 이제 내 로컬컴퓨터에서만 돌려보던 서버 예행연습이 끝났으니DB에 연결해보도록 합시다. DB때도 ec2를 거쳐가도록 터널링했었죠왜 터널링을 해야하는가 마찬가지입니다. 서버를 배포하기 전까진 보안과 디버깅을 위해 ec2서버에 터널링을 해줄거에요. Java에서는 어떻게 터널링을 하는가~? 우선 resources 폴더의 application.properties을 yml로 확장자를 변경해주자.yml == 설정파일!! 그리고 해당 yml에 아래 코드 작성spring: datasource: url: jdbc:mysql://localhost:3307/*** 포트 충돌을 피하기위해 DB가 쓰고있는 3306포트 대신 3307포트로 접속이제 자바에서의 데이터 베이스 접속 설정 준비 완료 ec2 연결은 Putt.. 2024. 12. 19. 이전 1 ··· 6 7 8 9 10 11 12 ··· 20 다음