JDBC, Spring JDBC, JPA, Hibernate, Spring Data JPA... 자바를 이용하여 데이터 관련 처리를 하거나 스프링 프로젝트에서 DB에 접근하게 되면 빼놓을 수 없는 단어들이다. 프로젝트 구현에만 집중하느라 JPA Repository의 derived query같은 편리한 기능들만 따와 쓰기 바빴고 정확한 원리나 그 근간에 있는 기술의 역사 등은 대충 넘겼다. 그동안 프로젝트를 진행하면서 '대충 이런 것들이겠지' 하고 쓰던게 마음에 걸려 한번 정리하는 시간을 가져보겠다! 1. JPA : ORM 가이드 Java Persistence API로, JAVA 언어 자체에서 제공하는 ORM(Object Relational Mapping) 기술에 대한 표준 명세이다. ORM 프레임워크를 ..
기본적인 Spring Security 내용과 OAuth2의 동작 방식에 대한 설명 글이다. OAuth에서 사용하는 클라이언트, 리소스 오너, auth 서버, 리소스 서버 용어에 대한 개념도 들어가있다. Spring Security + OAuth2 1. Spring Security # Spring Security? : Spring 환경 안에서 authentication, authorization을 진행하는 하위 프레임워크이다. authentication은 유저가 제시한 ID와 password에 따라 이 유저가 해당 서비스에 등록된 유저인 buchu-doodle.tistory.com Spring Security와 OAuth2를 연동하여 프로젝트에 담아보았다. 예시로는 구글을 들었지만 페이스북, 네이버 등에서..
https://start.spring.io/ Spring boot는 요구하는 기능에 따른 dependency module들을 한번에 불러올 수 있는 initializr 기능을 가지고 있다. 필요한 Dependency를 검색하여 추가해주었다. web, jpa, mysql, thymeleaf, validation, oauth2, spring security, dev tool 등이었다. 필요한 모듈을 처음부터 한 번에 불러올 필요 없이 새로운 의존성이 필요할 때마다 위의 start spring 사이트나 maven repository에서 모듈을 검색한 후 build.gradle에 추가해줄 수 있다. maven repository 사이트: https://mvnrepository.com/ 1. RDS (Relati..
1. Spring Security # Spring Security? : Spring 환경 안에서 authentication, authorization을 진행하는 하위 프레임워크이다. authentication은 유저가 제시한 ID와 password에 따라 이 유저가 해당 서비스에 등록된 유저인지, 정말 그 유저가 맞는지 확인하는 과정이고 authorization은 유저의 권한이 현재 유저가 서비스에서 행하려는 행위의 권한이 있는지 확인하는 과정이다. spring security의 로직과 기능들은 유저의 request가 dispatcher servlet으로 가기 전 filter 단계에서 이뤄지므로 만약 권한이 없는 유저가 security 하에 보호된 페이지에 요청을 보내면 servlet container에..