반응형

ahnnyung ,/Spring 5

[Spring] Spring Security

개요 Application의 보안(Authentication & Authorization)을 담당하는 스프링 하위 프레임워크이다. Spring Security는 인증과 인가에 대한 부분을 Filter 흐름에 따라 처리하고 있다. 보안과 관련해서 체계적으로 다양한 옵션들을 제공해주고 있다. Authentication & Authorization Authentication은 인증 (로그인), Authorization은 인가(접근 허용)을 의미한다. Authentication은 그야말로 접근자(사용자)의 신원을 확인하는 프로세스이고, Authorization은 누가 무엇을 할 수 있는지 결정하는 규칙이다.Spring Security는 기본적으로 인증(Authentication)절차를 거친 후에 인가(Autho..

ahnnyung ,/Spring 2022.03.25

[Spring Security] Access Token & Refresh Token

시작하기에 앞서 Access Token이란? 사적 리소스(private resource)에 접근하는 REST API에 대한 모든 요청에 토큰이 포함되어 있는지, 또 해당 토큰이 유효한지의 여부를 검증함으로써 인증 절차(로그인)를 수행할 때 사용하는 토큰을 Access Token이라 부릅니다. 이러한 Access Token은 수명이 있다. 수명이 끝나면 해당 토큰을 이용하여 API 서버에 데이터를 요청했을 때 API 서버는 더 이상 정보를 제공하지 않는다. 그럼 어찌해야하는가? Access Token을 재발급 받아야한다. 그러나 그때마다 사용자에게 다시 로그인을 하여 Access Token을 발급받아라~ 하기에는 무리가 있다. 주변을 보아도 아무리 오랜 시간 로그인을 유지하면서 지속적으로 사이트를 사용하여..

ahnnyung ,/Spring 2020.12.15

[Spring] @Autowired(필드주입, 수정자주입, 생성자주입), 그리고 @AllArgsConstructor

Spring 어노테이션 중엔 @Autowired라는 어노테이션이있다. 이 어노테이션을 특정 필드에 부여하면 IoC컨테이너 안에 존재하는 특정 필드와 같은 타입의 Bean을 찾아 자동으로 주입해주게 된다. 만약 같은 타입의 Bean이 여럿 존재한다면??[보러가기👀] 이 @Autowired 어노테이션이 없었다면 아래와 같이 코드가 지저분해진다... // TestService.java @Service public class TestService { private TestRepository testRepository; public TestService(TestRepository testRepository){ this.testRepository = testRepository; } ... } // TestRepos..

ahnnyung ,/Spring 2020.11.24

[Spring] Spring MVC Request Lifecycle (Filter, Interceptor, AOP 차이 및 정리)

요청에 대한 실행순서 Filter → Interceptor → AOP → Interceptor → Filter 순으로거친다. 실행 순서를 보면 Filter가 Dispatcher servlet 바깥쪽인 가장 외부, Interceptor가 Dispatcher servlet 다음으로 존재, 그리고 그 안에 AOP가 있는 형태이다. 1. Filter Filter는 Dispatcher servlet 앞단에서 스프링 컨텍스트 외부에 존재하여 스프링과 무관한 자원에 대해 동작한다. 요청과정에서 요청내용을 변경하거나 여러가지 체크를 수행할 수 있고, 응답과정에서도 자원의 처리가 끝난 이후의 응답내용에 대해서도 변경이 가능하다. 보통 web.xml에 등록하며 일반적으로 인코딩 변환 처리, XSS방어 등의 요청에 대한 처..

ahnnyung ,/Spring 2020.11.24

[Spring] Spring Security?

[Spring] Spring Security Spring에서 제공해주는 인증(Authentication)과 인가(Authorization)에 대한 처리를 해주는 Framework이다. Spring Security를 사용하지 않으면 직접 세션을 체크하고 redirect 작업을 해주어야하지만, Spring Security는 filter를 기반으로 동작하기 때문에 springMVC와 별개로 동작한다. Spring Security 주요 용어 접근 주체(Principal) 보호된 리소스에 접근하는 사용자 - Authentication으로 추상화 인증(Authenticate) 보호된 리소스에 접근한 대상에 대해 이 유저가 누구인지, 애플리케이션의 작업을 수행해도 되는 주체인지 확인하는 과정. 해당 사용자가 본인이 ..

ahnnyung ,/Spring 2020.11.19