programming study 73

스프링 시큐리티 사용 이유

[Spring Security] 스프링시큐리티의 기본 개념과 구조 (tistory.com) 로그인 인증 인가 처리 보안 스프링 시큐리티를 사용하는 이유? Spring Security 1편 (tistory.com) SpringSecurity를 왜 써야할까? - Flamme Dev (gitbook.io) Spring Security 스프링 시큐리티? (tistory.com) 스프링 시큐리티란? Spring Security 는 Spring 기반으로 인증 과 권한에 대한 것을 Filter에서 처리하는 프레임워크입니다. Filter vs Interceptor Filter는 Dispatcher Servlet 으로 가기전에 적용되므로 가장먼저 URL 요청을 받지만 Interceptor는 Controller 사이에 위..

JWT

1.JWT란 JWT-사전지식-RSA-암호화 (tistory.com) JSON 웹 토큰 소개 - jwt.io [JWT] JWT란 무엇인가? (JSON Web Token) 쉽게 정리한 core개념들 (tistory.com) JWT란? JWT , Session, Cookie 비교 (velog.io) 2. 엑세스 토큰 만료 후 리프레쉬 토큰 발급 api 요청은 클라이언트 단에서 해주고 있는데 서버단에서 바로 처리 하면 안 되는지? - 서버단에서 바로 처리하지 않고 리프레시 토큰 발급 API를 따로 만든 이유는 아래와 같습니다! [Spring/Security/JWT] JWT를 사용한 로그인 및 Refresh Token을 활용한 로그인 상태 유지 — 훙성의 기술 블로그 (tistory.com) 1..

OSI 7계층

출처 OSI 7계층 - IT위키 (itwiki.kr) [네트워크] OSI 7 계층 (OSI 7 Layer) (tistory.com) OSI 7계층 국제 표준화 기구(ISO)에서 개발한 통신에 관한 계층화 표준 모델 쉽게 말하면 통신이 일어나는 과정을 계층별로 나눠서 정의한 것 7 계층 : 응용 계층(Application Layer) 사용자로부터 정보를 입력받아 하위 계층으로 전달하고, 하위 계층에서 전송한 데이터를 사용자에게 전달 HTTP, DNS, Telnet, FTP 6 계층 : 표현 계층(Presentation Layer) 응용 계층(7 Layer)으로부터 전달받거나 전송하는 데이터의 인코딩 - 디코딩 및 암호화 등이 이루어지고 데이터의 형식(png, jpg 등)을 정해준다 프로토콜(Protocol..

[Lombok] 올바른 Lombok 사용법 - @Builder

출처 - [Lombok] 올바른 Lombok 사용법 - @Builder (tistory.com) 우리가 Spring에서 자주 볼 수 있는 Lombok들에 대해 알아보겠습니다 아래와 같은 코드가 있다고 할 때 이를 어떻게 리펙토링 할 수 있을까요? @Getter @Setter // 문제 1. 객체가 무분별하게 변경될 가능성 있음 @NoArgsConstructor // 문제 2. 기본 생성자의 접근 제어자가 불명확함 @Builder @AllArgsConstructor // 문제3. 객체 내부의 인스턴스멤버들을 모두 가지고 있는 생성자를 생성 (매우 위험) @Entity public class Member 해결 1. @Setter를 사용하지 않기 Setter는 그 의도가 분명하지 않고 객체를 언제든지 변경할 ..

spring security config 설정할 때 WebSecurityConfigurerAdapter 가 Deprecated 된다. 해결법

출처 - https://devlog-wjdrbs96.tistory.com/434 WebSecurityConfigurerAdapter Deprecated 해결하기 최근에 Spring Security를 설정해보려고 WebSecurityConfigurerAdapter를 사용하려 보니 Deprecated가 되어 있었는데요. @RequiredArgsConstructor @EnableWebSecurity public class WebSecurityConfig extends WebSecurityConfigurerAdapter { private final ObjectMapper objectMapper; private final JwtAuthenticationFilter jwtAuthenticationFilter; @O..

JPA 기초지식

출처 - [Spring/JPA] JPA 기초지식 (tistory.com) 위 글은 김성렬 교수님의 KOCW강의를 보고 작성한 글로 자세한 내용은 해당 강의를 통해 확인하시길 권장합니다. http://www.kocw.net/home/cview.do?cid=5e6aec4a9ae2dd45 스프링과 JPA를 이용한 웹개발 본 강의는 JPA와 스프링프레임워크를 이용한 웹 개발 방법을 설명하고 있습니다. www.kocw.net Persistence.xml a box holding all the needed information for creating an EntityManagerFactory instance JPA 설정을 구별하는 구별자 일반적으로 연결한 데이터베이스당 하나의 영속성 유닛을 등록 실제 개발에서는 여..

Jackson으로 발생한 순환 참조 문제 해결(JPA Entity)

N:N 관계에서 직렬화를 하면 순환참조 하여 무한으로 getter가 호출되는 문제다. 해결책 일반적으로 @JsonIgnore를 이용해 해당 필드의 직렬화를 막거나, @JsonManagedReference - @JsonBackReference 쌍을 이용해 단방향으로만 직렬화가 가능하게 한다. 하지만 순환참조 없이 양뱡항 직렬화가 필요한 경우 @JsonIgnoreProperties을 사용한다. @JsonIgnoreProperties을 사용하면 직렬화 대상 필드에게 직렬화하지 않을 필드를 지정해 줄 수 있다. 예시 @RestController에서 Board를 조회하여 반환하면 Board 안의 Reply를 호출하고 또 Reply 안에 있는 Board가 호출 되고 이 과정이 무한적으로 반복 되는 순환참조가 발생한..

[Spring]RestTemplate과 HttpEntity (제네릭과ParameterizedTypeReference)

출처 : [Spring]RestTemplate과 HttpEntity가 뭐길래(제네릭과 ParameterizedTypeReference) - 야망찬 개발자의 블로그 (sowon-dev.github.io) [Spring]RestTemplate과 HttpEntity가 뭐길래(제네릭과 ParameterizedTypeReference) 프로젝트를 하다보면 화면이 아닌 서비스단에서 외부 API와 호출해야할 일들이 생긴다.이때 주로 사용되는 것이 RestTemplate이다. sowon-dev.github.io 프로젝트를 하다보면 화면이 아닌 서비스단에서 외부 API와 호출해야할 일들이 생긴다. 이때 주로 사용되는 것이 RestTemplate이다. 이번 프로젝트에서 백엔드 업무를 도맡았다. 첫 작업으로 맡게 된 건 외..