티스토리 뷰

Spring

Spring Boot H2 Database Console forbidden Error

§무명소졸§ 2019. 12. 27. 17:09

스프링 부트에서 H2 DB 사용 및 Console을 사용하기 위한 코드이다. Spring Security 을 같이 사용시에 몇가지 제약 사항(CSRF, X-Frame-Options 등) 으로 H2DB Console을 사용하지 못한다. 자세한 설명은 생략하고 아래와 같은 설정으로 사용가능하다.

application.yml

spring:
  h2:
    console:
      enabled: true
      path: /h2
  datasource:
    url: jdbc:h2:file:~/s1db
    username: sa
    password:
    driverClassName: org.h2.Driver

 

SecurityConfiguration

package info.m2sj.s1;

import org.springframework.context.annotation.Configuration;
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
@Configuration
public class SecurityConfiguration extends WebSecurityConfigurerAdapter {
    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.headers().frameOptions().sameOrigin(); //x-frame-options 동일 출처일경우만

        http.authorizeRequests()
                .antMatchers("/h2/**").permitAll(); //h2 URI에 대한 권한 허가

        http.csrf().disable(); //CSRF Token 비활성화 
    }
}

 

H2DB Console 접속

http://localhost:8080/h2 로 접속한다. /h2 는 앞선 application.yml 의 spring.h2.console.path 설정을 따른다. 패스워드 입력없이

Connect 버튼을 누르면 된다.

접속 성공

'Spring' 카테고리의 다른 글

Spring Security (Spring Boot) #4  (0) 2020.02.28
Spring boot 2.x + ehcache 3.x  (1) 2020.01.30
Spring Security (Spring Boot) #3 form login customize  (0) 2020.01.20
Spring Security (Spring Boot) #2  (0) 2020.01.10
Spring Security (Spring Boot) #1  (0) 2020.01.03
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크