본문 바로가기

👩‍💻 BackEnd/🍃 스프링부트 [SpringBoot]

[SpringBoot] 서비스의 인증과 권한 부여

보안용어 이해 

1. 인증 : 사용자가 누구인지 확인하는 단계 , 로그인이 성공하면 에플리케이션 서버는 사용자에게 응답 토큰을 전달

2. 인가 : 인증을 통해 검증된 사용자가 애플리케이션 내부의 리소스에 접근할 권리가 있는지 확인하는 과정 

3. 접근 주체 : 애플리케이션의 기능을 사용하는 주체 (사용자, 디바이스, 시스템)

 

스프링 시큐리티 

애플리케이션의 인증, 인가 등의 보안 기능을 제공하는 스프링 하위 프로젝트 중 하나 

 

스프링 시큐리티의 동작 구조 

서블릿 필터를 기반으로 동작 

DispatcherServlet 앞에 필터가 배치 

 

필터 체인 : 서블릿 컨테이너에서 관리하는 ApplicationFilterChain 을 의미 

클라이언트에서 애플리케이션로 요청을 보내묜 서블릿 컨테이너이너는 uri를 확인해서 필터와 서블릿을 매핑함. 

사용하고자 하는 필터 체인을 서블릿 컨테이너의 필터 사이에 동작시키기 위해 DelegatingFilterProxy 를 사용

 

<!--SECURITY-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
</dependency>

스프링 프로젝트 생성 시 체크하면 다른 디팬던시가 생김 

 

# Security 
springboot.jwt.secret=flature!@#