아무거나

[Spring Security] Spring Security + H2 DB + Swagger 연동시 페이지 접근 예외 처리 본문

Java & Kotlin/Spring Security

[Spring Security] Spring Security + H2 DB + Swagger 연동시 페이지 접근 예외 처리

전봉근 2021. 1. 16. 14:31
반응형

소스: base-document/springsecurity.md at master · bkjeon1614/base-document (github.com)

 

 

  • Spring Security + H2 DB + Swagger 연동시 페이지 접근 예외 처리
    [SecurityConfig.java]
      import org.springframework.security.config.annotation.web.builders.HttpSecurity;
      import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
      import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
    
      @EnableWebSecurity
      public class SecurityConfig extends WebSecurityConfigurerAdapter {
    
          @Override
          protected void configure(HttpSecurity http) throws Exception {
              http
                  .csrf().disable()   // 토큰을 사용하므로 CSRF 설정을 비활성화
    
                  // x-frame-options 동일 출처일경우만(H2 DB Console Exception)
                  .and()
                  .headers()
                  .frameOptions()
                  .sameOrigin()
    
                  .and()
                  .authorizeRequests()    // HttpServletRequest를 사용하는 요청들에 대한 접근제한을 설정
                  .antMatchers(
                      "/",
                      "/v2/api-docs", "/swagger-resources/**", "/swagger-ui.html", "/webjars/**", "/swagger/**",   // swagger
                      "/h2-console/**",
                      "/favicon.ico"
                  ).permitAll()
                  .anyRequest().authenticated();  // 나머지 요청들은 모두 인증되어야 한다
          }
    
      }
    
반응형
Comments