H2-콘솔이 브라우저에 표시되지 않음
저는 SpringBoot api에서 작업하고 있으며, 다음과 같은 속성 설정으로 H2 데이터베이스를 사용하고 있습니다.
spring.h2.console.enabled=true
spring.datasource.name=test
spring.datasource.username=sa
spring.datasource.password=
spring.datasource.driver-class-name=org.h2.Driver
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
spring.datasource.initialization-mode = embedded
spring.datasource.url=jdbc:h2:mem:test
spring.jpa.hibernate.ddl-auto = update
브라우저를 사용하여 'http://localhost:8082/h2-console'을 통해 H2 데이터베이스 콘솔을 보려면 브라우저에서 연결 및 테스트 연결 버튼이 있는 화면이 열립니다.[ Test Connection ]를 클릭하면 정상적으로 반환되지만 [Connect]버튼을 클릭하면 localhost가 접속을 거부했다는 오류가 나타납니다.
스프링 보안 파일에 이 두 줄을 추가하면 바로 사용할 수 있습니다.
http.csrf().disable();
http.headers().frameOptions().disable();
기본적으로는 Spring Security는 iframe 내 렌더링을 비활성화합니다.이는 클릭잭킹과 같은 웹 페이지를 프레임에 추가하는 것이 보안상의 문제가 될 수 있기 때문입니다.H2 콘솔은 프레임 내에서 동작하기 때문에 Spring 보안이 네이블로 되어 있는 동안 H2 콘솔을 동작시키려면 프레임옵션을 명시적으로 디세블로 할 필요가 있습니다.
http.headers().frameOptions().disable();
일반적으로 X-Frame-Options에는 DENY 또는 SAME ORIGIN 두 가지 디렉티브가 있습니다.따라서 다음 설정은 제한적이지만 안전한 접근에도 사용할 수 있습니다.
headers().frameOptions().sameOrigin();
그러면 페이지 자체와 같은 원본 프레임에 페이지를 표시할 수 있습니다.
@Alien의 대답과는 별도로, 나는 덧붙여야만 했다.http.csrf().disable();
또한.
다음 행 1 application.properties 추가
spring.datasource.url=jdbc:h2:mem:testdb
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
spring.h2.console.enabled=true
또한 pom.xml에 다음과 같이 추가되었다.
<build>
<plugins>
<plugin>
<configuration>
<jdbc>
<driver>org.h2.Driver</driver>
<url>jdbc:h2:~/test</url>
</jdbc>
</configuration>
</plugin>
</plugins>
<build>
언급URL : https://stackoverflow.com/questions/53395200/h2-console-is-not-showing-in-browser
'programing' 카테고리의 다른 글
잭슨:각 값에 대해 올바른 유형의 맵으로 역직렬화 (0) | 2023.04.02 |
---|---|
사용자 정의 유효성 검사 angularjs 지시문을 테스트하려면 (0) | 2023.04.02 |
JSON 및 이스케이프 문자 (0) | 2023.04.02 |
PHP: json_decode가 작동하지 않습니다. (0) | 2023.04.02 |
Spring Boot에서의 COR 테스트시험 (0) | 2023.04.02 |