본문 바로가기

Spring

Spring JPA - 쿼리 방법 1. 리포지토리 인터페이스 선언 // 1. Repository 또는 하위 interface 중 하나를 확장하는 interface 선언, 처리해야하는 interface PersonRepository extends Repository { List findByLastname(String lastname); // 2. interface에서 쿼리 메서드 선언 } 2. 인터페이스 접근 인스턴스를 생성하기 위한 Spring 설정: JavaConfig 또는 XML 구성 // Java 구성: 아래와 유사한 클래스 만들기 import org.springframework.data.jpa.repository.config.EnableJpaRepositories; @EnableJpaRepositories // 어노테이션을 달아서.. 더보기
Spring JPA - Spring data 저장소로 작업하기, 핵심 개념 1. The central interface in the Spring Data repository abstraction is Repository. It takes the domain class to manage as well as the ID type of the domain class as type arguments. This interface acts primarily as a marker interface to capture the types to work with and to help you to discover interfaces that extend this one. The CrudRepository interface provides sophisticated CRUD functionality .. 더보기
SpringSecurity 스프링 시큐리티를 이용한 인증 및 인가 관리 개념 스프링 시큐리티(SpringSecurity) 인증, 인가, 일반적인 공격에 대한 보호를 제공하기 위한 프레임워크 스프링 시큐리티는 '인증'과 '권한'에 대한 부분을 필터(Filter) 흐름에 따라 처리하고 있다. 필터는 Dispatcher Servlet으로 가기 전에 적용되므로 가장 먼저 URL 요청을 받지만, (웹 컨테이너에서 관리) 인터셉터(Interceptor)는 Dispatcher와 Controller 사이에 위치한다는 점에서 적용 시기의 차이가 있다. (스프링 컨테이너에서 관리) 인증 구조 및 과정 주요 모듈 별 상세 역할 인증 필터 (AuthenticationFilter) 모든 요청에 대하여 AuthenticationFilter가 인증 및 권한 부여 과정을 거친 후 Dispatcher Serv.. 더보기
HTTP 메시지 이해 1. HTTP 메시지 이해 Client와 Server 간 Request, Response는 HTTP 메시지 규약을 따름 2. HTTP Request와 Response 구성 1) Request 구조 내용 설명 시작줄(start line) GET naver.com HTTP/1.1 API 호출, URL주소, HTTP/버전 헤더(headers) Content-Type 없음 - application/x-www-form-urlencoded HTML application/json AJAX 본문(body) (보통) 내용 없음 GET요청 시 (보통) 사용자가 입력한 폼 데이터 또는 json데이터 POST요청 시 2) Response 구조 내용 설명 상태줄( status line) HTTP/1.1 404 Not Found.. 더보기
CORS(Cross-Origin Request) 알아보기 1. 정의 CORS(Cross-Origin Resuorce Sharing) 교차 출처 자원 공유 웹 페이지 상의 제한된 자원을 최초 자원이 서비스된 도메인 밖의 다른 도메인으로부터 요청할 수 있게 허용하는 구조. 웹 페이지는 교차 출처 이미지, 스타일시트, 스크립트, iframe, 동영상을 자유롭게 임베드할 수 있다. 단, 특정 교차 도메인 간 요청, 특히 Ajax요청은 SOP(동일-출처 보안 정책)에 의해 기본적으로 금지된다. 👉🏻 추가 HTTP헤더를 사용하여 다른 출처의 자원을 공유할 수 있도록 권한을 부여하는 것으로 SOP를 우회하기 위한 방법 중 가장 권장되는 방법 SOP(Same-Origin Policy) 동일 출처 정책 동일 출처에서만 자원을 공유할 수 있게 제한하는 보안 정책 동일 출처(Sa.. 더보기
웹의 인증 및 인가 1. 웹의 인증 및 인가 2. 스프링 시큐리티를 이용한 인증 및 인가 3. OAuth2를 이용한 소셜 로그인 4. JWT를 이용한 로그인 웹의 인증 및 인가 1. 인증 및 인가 정의 인증 (Authentication): 사용자 신원을 확인하는 행위 -> 웹에서는 로그인을 통한 사용자 확인 인가 (Authorization): 사용자 권한을 확인하는 행위 -> 웹에서는 로그인 후, 사용 권한 확인 2. 웹의 인증 및 인가 1) 필요성 HTTP 는 상태를 저장하지 않기(Stateless) 때문에 사용자를 구별하지 못함 HTTP 에 상태 정보를 유지(Stateful)하기 위해 쿠키와 세션을 사용함 쿠키(Cookie): 클라이언트에 저장될 목적으로 생성한 작은 정보를 담은 파일 세션(Sessoin): 서버에서 일.. 더보기