카페인부족
close
프로필 배경
프로필 로고

카페인부족

  • 분류 전체보기
    • Front-End
      • React
      • HTML & CSS
      • Front-End 지식
    • Back-End
      • JAVA
      • Golang
      • HTTP
      • Nest.js
      • 기타
    • Errors
    • etc
Spring 프로젝트 시작하기 - 보안 ) Jwt Token 쿠키 검증

Spring 프로젝트 시작하기 - 보안 ) Jwt Token 쿠키 검증

지난시간엔 Jwt Token을 발급해보았다. 그렇다면 실제 API를 던졌을때 Token을 확인하고 실제 유저인지 판별해보는 로직을 만들어보겠다. CookieParser@Slf4jpublic class CookieParser { /** * 쿠키에서 특정 key값을 가진 value를 가져온다. * @param cookies 쿠키에 담긴 key,value 목록 * @param key key * @return value or exception */ public static String getCookieValue(Cookie[] cookies, String key) { try (Stream stream = Arrays.stream(cookies)) { return stream.filter(cooki..

  • format_list_bulleted Back-End/JAVA
  • · 2024. 11. 15.
  • textsms
Spring 프로젝트 시작하기 - 보안 ) Jwt Token 쿠키 발급

Spring 프로젝트 시작하기 - 보안 ) Jwt Token 쿠키 발급

데이터를 다루는 API를 누구나 어디에서나 자유롭게 호출해서 쓸수 있다면 보안적으로 큰 문제가 되시겠다. 이를 막을수 있는방법은 여러가지가 있는데 클라이언트의 서버를 제한하거나( CORS 정책 ), 진입 사용자를 판별( 세션, 쿠키 ) 하는 방법등이 있다. 이글에서 다루어볼 방법은 Jwt Token으로 암호화된 유저정보를 쿠키에 저장해서 API 진입시마다 확인하는 방법이다. 준비과정1. 유저 정보로 판별하려면 이미 유저데이터를 가지고있어야 한다. 고로 DB연결 및 유저정보는 테이블에 이미 들어있어야한다.참고 : https://debugggggger.tistory.com/30 Spring 프로젝트 시작하기 - DB 연결(JPA)프로젝트에 JPA로 Mysql DB를 연결해볼것이다.1. build.gradle..

  • format_list_bulleted Back-End/JAVA
  • · 2024. 11. 14.
  • textsms
Spring 프로젝트 시작하기 - 예외처리편

Spring 프로젝트 시작하기 - 예외처리편

API는 동작중 여러 오류사항을 마주할 수 있다.오류가 발생했을때 클라이언트쪽에서 에러를 판별하고 적절한 처리를 할 수 있도록 예외를 리턴해주어야한다. 우선 boot-starter-web가 없다면 의존성을 추가해준다.dependencies { implementation 'org.springframework.boot:spring-boot-starter-web'} 1. Response 규정@JsonFormat(shape = JsonFormat.Shape.OBJECT)public enum ServerResponse { SUCCESS(HttpStatus.OK, "OK", HttpStatus.OK.getReasonPhrase()) , INVALID_TOKEN(HttpStatus.UNAUTHORIZED,..

  • format_list_bulleted Back-End/JAVA
  • · 2024. 11. 13.
  • textsms
Spring 프로젝트 시작하기 - 프로파일 설정편

Spring 프로젝트 시작하기 - 프로파일 설정편

개발을 하다보면 배포환경을 나누어야할 때가 있다.local - develop - qa - stage - prod등으로 나뉜다. local : 단일 개발서버, 본인의 PC에서 개발 및 테스트를 위한 단계이다. develop : 개발 단계서버, front, back-end, module등의 분업 프로젝트가 1차적으로 모이는 곳으로, 조율중 배포 싱크에 따라서 오류가 존재할 수도 있다. 물론 각자 오류를 방치하지 않고 인지 및 조치가 이루어져야 한다.qa :품질 보증 테스트서버, dev 서버에서 정상동작이 끝난 코드만 배포되어야한다. stage :실제 환경과 유사한 테스트서버. pord와 거의 동일한 환경에서 동일하게 동작될 수 있어야 한다.prod :실제 서비스 환경, 고객에게 실제로 제공되는 서버 나는 우..

  • format_list_bulleted Back-End/JAVA
  • · 2024. 11. 12.
  • textsms
Spring 프로젝트 시작하기 - DB 연결(JPA)

Spring 프로젝트 시작하기 - DB 연결(JPA)

프로젝트에 JPA로 Mysql DB를 연결해볼것이다. 1. build.gradle 파일에서 의존성을 추가한다.dependencies { ... // JPA implementation 'org.springframework.boot:spring-boot-starter-data-jpa' // mysql implementation group: 'mysql', name: 'mysql-connector-java', version: '8.0.33' ...}의존성을 추가한 후에는 잊지않고 Gradle을 새로고침해주도록 하자. 2. yml 파일에서 DB 연결정보를 입력한다.spring: application: name: stock datasource: driver-class-name: com.mys..

  • format_list_bulleted Back-End/JAVA
  • · 2024. 11. 11.
  • textsms
Spring 프로젝트 시작하기 - 구조설계 및 테스트편

Spring 프로젝트 시작하기 - 구조설계 및 테스트편

프로젝트 구조 설계 프로젝트 구성에 관해서는 개인적인 분석으로, 크게 두가지로 분류된다. 1. 서비스를 대분류로 나누는 경우 ex) Member > Controller / Service ...개발하는 웹페이지가 대메뉴-소메뉴 이상의 규모일때 사용하기에 좋았다.예를들어서A- A.a- A.b- A.cB- B.a- B.b이런 메뉴구성을 가지는 경우는 A와 B의 파일이 섞이지 않도록 대분류로 나누는것이 좋다. 2. 클래스의 기능을 나누는 경우 ex) Controller / Service > Member ...개발하는 프로젝트의 규모가 작을때는 Controller / Service가 많지 않기때문에 한번에 관리하는 경우가 더 간편했다. 나같은 경우에는 극소규모의 프로젝트라서 Controller와 Service는 ..

  • format_list_bulleted Back-End/JAVA
  • · 2024. 9. 25.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • navigate_next
카테고리
  • 분류 전체보기
    • Front-End
      • React
      • HTML & CSS
      • Front-End 지식
    • Back-End
      • JAVA
      • Golang
      • HTTP
      • Nest.js
      • 기타
    • Errors
    • etc
방문자

Today :
Yesterday :
최근 글
인기 글
최근 댓글
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바