Spring Security - 스프링 시큐리티

minjjai·2022년 10월 8일
0
post-thumbnail

스프링 시큐리티란?

  • Spring 기반의 애플리케이션의 보안(인증과 권한, 인가 등)을 담당하는 스프링 하위 프레임워크

스프링 시큐리티 빌드

  • build.gradle
implementation 'org.springframework.boot:spring-boot-starter-security'
implementation 'org.thymeleaf.extras:thymeleaf-extras-springsecurity5'

설정


위의 빌드를 하고나면 모든 페이지가 로그인 화면으로 막힐 것이다.
그래서 따로 시큐리티 설정을 해줘야 한다.

SecurityConfig.java 클래스 파일

@Configuration
@EnableWebSecurity
public class SecurityConfig {
    @Bean
    public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
        http.authorizeRequests().antMatchers("/**").permitAll()
                ;
        return http.build();
    }
}

@Configuration

  • 스프링의 환경설정 파일임을 의미하는 애너테이션

@EnableWebSecurity

  • 모든 요청 URL이 스프링 시큐리티의 제어를 받도록 만드는 애너테이션
  • @EnableWebSecurity 애너테이션을 사용하면 내부적으로 SpringSecurityFilterChain이 동작하여 URL 필터가 적용된다.

스프링 시큐리티의 세부 설정은 SecurityFilterChain 빈을 생성하여 설정할 수 있다.

http.authorizeRequests().antMatchers("/**").permitAll()

이 코드는 모든 인증되지 않은 요청을 허락한다는 의미의 코드로, 로그인하지않은 상태에서 모든 페이지에 접근할 수 있다.

아직 로그인/로그아웃 기능이 구현되지 않은 상태에서는 개발을 원활히 진행할 수 있도록 모든 페이지의 권한을 위와 같이 설정해 주어야 한다.

다음 글에서는 시큐리티를 이용해 로그인과 로그아웃을 구현하는 방법에 대해서 글을 작성하려고 한다.

profile
BackEnd Developer

0개의 댓글