Java/Spring10 [Spring Security] 스프링 시큐리티의 구조와 인증 과정 스프링 시큐리티는 크게 네 가지 요소로 구성되어 있습니다. 인증 필터, 인증 관리자, 인증 공급자, 보안 컨텍스트가 그것들인데요. 스프링 시큐리티의 인증 프로세스를 각 구성요소의 역할과 함께 정리해보겠습니다.인증 과정HTTP 요청이 들어오면 AuthenticationFilter가 가로챈다.AuthenticationFilter는 AuthenticationManager에게 인증을 위임한다.AuthenticationManager는 AuthenticationProvider를 이용하여 인증을 처리한다.AuthenticationProvider는 사용자 관리 책임을 구현하는 UserDetailsService와 암호 관리를 구현하는 PasswordEncoder를 인증 논리에 이용한다.인증된 엔티티에 대한 세부 정보를 .. 2024. 11. 18. [Spring Boot] 인증과 인가 0. 개요 서비스 운영에 있어서의 보안과 관련된 개념을 알아본다. 스프링에 보안을 적용할 때 사용하는 Spring Security에 대해 알아본다. 무상태(stateless) REST 애플리케이션 환경에 맞게 토큰값을 활용하는 보안 기법을 기본적으로 가정한다. * stateless: 클라이언트와 서버 관계에서 서버가 클라이언트의 상태를 보존하지 않음 1. 인증과 인가는 무엇인가? 인증과 인가. 한국어로든 영어로든 서로 비슷해서 헷갈린다. 하지만 찬찬히 생각해보면 어감의 차이를 느낄 수 있다. 먼저 인가를 보면 '허락'의 뉘앙스가 풍긴다. 이를 중심으로 생각해보면 좀더 구분이 수월해지기도 한다. 놀이공원에 간 상황을 예로 들면, 놀이공원 입구에서 신분을 확인하여 입장하는 것이 인증이다. 그리고 입장 과정에.. 2023. 4. 29. [Spring Boot] 서버 간 통신: RestTemplate과 WebClient 1. 서버 간 통신의 필요성 MSA(MicroService Architecture)의 등장 소프트웨어의 모든 구성요소가 한 프로젝트에 통합되어 있는 Monolithic Architecture는 서비스의 규모가 커질 수록 유지 보수 측면에서의 한계를 보인다. 이러한 문제를 보완하기 위해 하나의 애플리케이션이 하나의 기능만을 가지도록 구성한 형태인 MicroService Architecture가 등장하였다. 애플리케이션은 자신이 가진 기능을 API로 외부에 노출하고, 다른 서버(애플리케이션)가 그 API를 호출하여 사용한다. 이 과정에서 다른 서버로 웹 요청을 보내고 응답을 받을 수 있게 도와주는 기술이 RestTemplate과 WebClient이다. 2. RestTemplate 개요 RestTemplat.. 2023. 4. 22. [Spring Boot] 액추에이터 1. 액추에이터(Actuator)란? 스프링 공식 문서에서는 위와 같이 설명하고 있다. 즉, 스프링 부트 액추에이터는 HTTP 엔드포인트나 JMX를 사용해 애플리케이션을 관리하고 모니터링할 수 있는 기능을 제공한다. * JMX(Java Management Extensions) : 실행 중인 애플리케이션의 상태를 모니터링하고 설정을 변경할 수 있게 해주는 API 2. 액추에이터 사용을 위한 의존성 액추에이터 기능을 사용하려면 spring-boot-starter-actuator 모듈의 의존성을 추가해야 한다. 다음은 build.gradle 예시이다. implementation group: 'org.springframework.boot', name: 'spring-boot-starter-actuator' 3... 2023. 4. 21. 이전 1 2 3 다음