Backend/Spring

Backend/Spring

[Spring Security] 스프링 시큐리티 알아보기, 구조(Filter Chain) 및 인증 과정

🤔 스프링 시큐리티? 스프링 기반의 어플리케이션의 보안(인증과 인가)을 담당하는 프레임워크를 말합니다. 인증(Authentication) 로그인 과정처럼 사용자가 시스템에게 자신을 식별할 수 있는 자격증명(아이디, 비밀번호, 토큰 등)을 제공하고, 시스템이 이를 확인하는 과정을 말합니다. 인가(Authorization) 인증된 사용자가 어떤 리소스에 접근할 수 있는지 또는 어떤 동작을 수행할 수 있는지를 검증하는 것 즉, 접근 권한을 얻는 일을 말합니다. 다양한 보안 기능, 인증 방식, 제어 메커니즘을 지원하여 보다 경력한 보안을 구현할 수 있습니다. 개발자는 이러한 기능을 통해 보안 관련 로직을 작성하지 않아도 된다는 장점이 있습니다. 스프링 시큐리티를 사용하지 않았을 때에는 컨트롤러에서 직접 인증과 ..

Backend/Spring

[Spring] 의존관계 자동 주입

🤔 의존관계 주입 방법 ✔ 생성자 주입 생성자를 통해서 의존 관계를 주입 받는 방법입니다. 생성자 호출 시점에 1번만 호출되는것이 보장됩니다. 호출되는 시점에 값을 딱 1번 세팅하고 그 다음부터는 수정되지 못하도록 막을 수 있습니다. ('불변, 필수' 의존 관계에 사용) @Component public class OrderServiceImpl implements OrderService { private final MemberRepository memberRepository; private final DiscountPolicy discountPolicy; @Autowired public OrderServiceImpl(MemberRepository memberRepository, DiscountPolicy ..

Backend/Spring

[Spring] 컴포넌트 스캔

🤔 컴포넌트 스캔 스프링 빈을 등록할 때는 자바 코드의 @Bean 어노테이션을 통해서 설정 정보(AppConfig.java)에 직접 등록할 스프링 빈을 나열했다. 이렇게 등록해야할 스프링 빈이 많아지면 하나하나 등록하기도 힘들고 설정정보도 커지면서 누락하는 문제도 발생할 수 있다. 그래서 스프링은 설정 정보가 없어도 자동으로 스프링 빈을 등록하는 컴포넌트 스캔 이라는 기능을 제공한다. ✔ @ComponentScan @ComponentScan은 @Component 가 붙은 모든 클래스를 스프링 빈으로 등록한다.(싱글톤) 🚨 문제 하지만 이렇게 어노테이션을 사용하여 해당하는 클래스에 자동으로 등록하게되면 의존관계를 주입할 수 있는 방법이 없다. 이전에는 설정 정보(AppConfig)에서 원하는 의존관계를 설..

장용석
'Backend/Spring' 카테고리의 글 목록