이 글은 인프런 김영한님의 강의를 복습하며 정리한 글입니다. 어플리케이션 서버와 DB - 일반적인 사용 방법 커넥션 연결 : 서버와 DB는 TCP/IP로 커넥션을 연결함. SQL 전달 : 어플리케이션 서버는 DB가 이해할 수 있는 SQL을 연결된 커넥션을 통해 DB에 전달한다. 결과 응답 : DB는 전달된 SQL을 수행하고, 그 결과를 응답한다. 어플리케이션 서버는 응답 결과를 활용한다. 어플리케이션 서버와 DB - DB 변경 예전에는 각각의 DB마다 사용법이 달랐다. 따라서 커넥션을 연결하는 방법 / SQL을 전달하는 방법 / 결과를 응답 받는 방법이 모두 다르다는 점이다. 따라서 예전에는 크게 두 가지의 문제점이 있었다. DB를 다른 종류의 DB로 변경하려면, 어플리케이션에 사용된 코드도 변경되어야함..
이 글은 인프런 정수원님의 강의를 복습하며 작성한 글입니다. Spring Security : Web Ignore Spring Security는 기본적으로 모든 자원에 접근하는 요청에 대해서 인증 + 인가를 확인해서 자원에 접근할 수 있는 경우에만 값을 내려준다. 이렇게 인증 / 인가를 모두 검사하는 것이 좋을 것처럼 보이지만 필요하지 않는 경우가 있다. 예를 들어 정적인 자원들에 대한 값이다. 예를 들어 특정 URL에 접근했을 때, View가 렌더링 된다고 가정해보자. 이미 URL에 접근할 수 있다는 인가를 받으면 그 화면이 바로 랜더링이 되면 된다. 그렇지만 스프링 시큐리티는 기본적으로 모든 접근에 대해서 인증/인가를 검색하기 때문에 이 URL을 랜더링 하는데 필요한 정적인 파일(CSS / HTML /..
이 글은 인프런 정수원님의 강의를 복습하며 작성한 글입니다. Spring Security : 계정 생성 + 권한 설정 + 인증/인가 설정 Spring Security는 기본적으로 인증 / 인가를 바탕으로 동작한다. 인증/인가를 위해서 필요한 것은 바로 계정이고, 그 계정에 어떤 권한이 설정되는지가 중요하다. 그리고 어떤 자원으로 접근할 때 인증이 필요한지, 그리고 어떤 권한이 필요한지를 설정하는 것이 Spring Security의 시작이다. 이번 포스팅에서는 계정 생성 + 권한 설정 / 인증 + 인가 설정에 대해 간략히 살펴본다. Spring Security Config 정보 설정 @EnableWebSecurity @Configuration public class SecurityConfig extends..
이 게시글은 인프런 정수원님의 강의를 복습하며 작성한 글입니다. 여러 보안 클래스 설정 지금까지는 하나의 보안 설정 클래스만 작성해서 사용하는 경우를 다뤄왔다. 그런데 보안을 고려해야할 것이 많아지면, 당연히 하나의 보안 설정 클래스에서 너무 많은 책임을 지게 된다. 따라서, 설정 클래스의 분리를 통해 코드의 복잡도를 낮출 것이 고려된다. 그렇다면, 이렇게 설정 클래스를 여러 개로 나누어 설정을 하는 경우는 어떻게 동작을 하게 될까? 여러 보안 클래스 설정, 그림 다음과 같이 두 개의 설정 클래스가 있을 때를 가정해보자. API는 동일한데, 단순히 antMatcher가 다른 경우로 이해를 할 수 있다. 위 경우 어떻게 동작할까? 설정 클래스 별로 보안 기능이 각각 동작함. 설정 클래스 별로 각각 필터가 ..