반응형

Spring 5

[Spring Security] 스프링 시큐리티 인증 아키텍처 컴포넌트

스프링 시큐리티에서 제공하는 기능 ⭐️⭐️⭐️ 스프링 시큐리티는 사용자를 인증하고, 권한을 부여하는 기능을 제공합니다. 또, 여러 공격에 대해 보호하는 기능을 제공합니다. 그 중에 인증과 권한은 스프링 시큐리티에서 가장 중요한 보안 개념입니다. 인증(Authentication) 인증은 '누구'인지를 검증하는 과정입니다. 사용자가 특정 자원에 접근하기 위해서는 그럴 권한이 있는 사용자라는 것을 증명해야합니다. 따라서 사용자는 사용자를 증명하기 위한 정보(credentials)를 제공하고, 인증은 바로 그 정보를 검증하는 것을 말합니다. 사용자를 인증하는 흔한 방법 중에 하나는 사용자에게 이름(username)과 비밀번호(password)를 입력받는 것입니다. 인증이 완료되면 스프링 시큐리티는 사용자가 '누..

Spring 2020.12.27

[Spring Security] 스프링 시큐리티 아키텍처

1. 필터(Filter) 스프링 시큐리티는 서블릿의 필터를 기반으로 동작합니다. 일반적으로 클라이언트에서 서버로 요청을 보내면, DispatcherServlet이라는 서블릿이 하나의 HttpServeletRequest를 받아서 요청을 처리하고 HttpServletResponse 응답을 클라이언트로 보냅니다. 그런데, 하나 이상의 필터가 포함된다면, 클라이언트에서 보낸 요청이 서블릿으로 전달되기 전에 필터를 거치게 됩니다. 클라이언트가 애플리케이션에 하나의 요청을 보내면, 컨테이너는 하나의 필터 체인(FilterChain)을 생성합니다. 필터 체인에는 필터와 서블릿이 들어 있습니다. 필터 체인 내부의 필터는 말 그대로 '필터'의 역할을 하게 됩니다. 클라이언트에서 보낸 요청이 다음 필터나 서블릿에 전달되지..

Spring 2020.12.27

[Spring Boot] JPA와 ORM

프로젝트를 수행하면서 JPA를 사용할 기회가 생겨 개념을 간단히 정리해보았습니다. ORM이란? Object-Relational Mapping의 약자로 객체와 관계형 데이터베이스를 매핑하는 것입니다. JPA란? JPA란 Java Persistence API의 약자로, Java에서의 ORM을 표준화한 API 명세입니다. JPA 이전에는 EJB(Enterprise Java Beans)라는 기술 표준에 포함된 Entity Bean이라는 ORM 기술을 사용했습니다. 그 당시에 Hibernate가 등장하고 인기를 끌었습니다. 그래서 Hibernate 기반으로 새로운 Java ORM 기술 표준이 만들어졌고 그것이 바로 JPA입니다. Hibernate란? JPA를 사용하려면 JPA를 구현한 ORM 프레임워크를 선택해서..

Spring 2020.11.05

[Spring Boot] Gradle이란? Gradle 의존성 설정하기

🐘 Gradle이 뭐야? 스프링 부트 프로젝트를 생성할 때 빌드 툴을 Maven과 Gradle 중에 선택할 수 있습니다. 저는 스프링 공부를 시작했을 때 부스트코스 웹 프로그래밍 강좌를 수강하면서 커리큘럼에 따라 Maven 빌드 툴을 사용했습니다. 그러다가 여러 기술을 경험해보고 싶은 마음에 새롭게 Gradle 빌드 툴도 사용해보았습니다. 하지만 둘 사이에 큰 차이는 느끼지 못했습니다. Gradle을 사용하니 빌드 스크립트가 Maven에서 사용하는 XML에 비해 간단하다는 차이 정도만 느낄 수 있었습니다. 이 두 빌드 툴 중에 제가 주로 사용하게 된 Gradle에 대해서 좀 더 자세히 알고 싶었습니다. 그래서 공부한 내용을 정리했습니다. ✏️🙂 Gradle이란? Gradle은 오픈소스 빌드 자동화 툴이다..

Spring 2020.10.06

[Spring Boot] Spring Boot란? Spring Boot의 특징과 장점

부제: Spring Boot를 선택한 이유 🍃 Just Run 스프링 부트 메인 페이지에 들어가면 보이는 첫 문장이다. Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can "just run". 스프링 부트는 단독 실행이 가능한 상용화 수준의 스프링 기반의 애플리케이션을 쉽게 만들 수 있도록 합니다. 당신은 애플리케이션을 "just run" 하면 됩니다. 이 문장에서 보이는 스프링 부트의 핵심 장점은 두 가지다. 단독 실행이 가능하다. 만들기 쉽다. 이것이 어떻게 가능한지는 스프링 부트의 특징을 통해 알 수 있다. 🍃 Features 단독 실행과 쉬운 설정에 대한 특징 1..

Spring 2020.10.05
반응형