问题
I am working on SpringBoot api and using H2 database with following property settings.
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
When I want to use browser to view the H2 database console through 'http://localhost:8082/h2-console', a screen open in browser with connect and test connection button. When I click on Test Connection, it returns successful but when click on Connect button, error comes that localhost refused to connect.
回答1:
As per this blog post, a line needs to be added to
the configure method of the SecurityConfig class if you have the spring-boot-starter-security dependency in your project, otherwise you will see an empty page after logging into the H2 console:
http.headers().frameOptions().disable();
I added that line and it solved the problem.
Alternatively, the following line can be used (as mentioned here):
http.headers().frameOptions().sameOrigin();
回答2:
Apart from @Alien's response, I had to add http.csrf().disable(); also.
回答3:
add this two line in your spring security file and you are good to go.
http.csrf().disable();
http.headers().frameOptions().disable();
回答4:
H2 console was showing After disconnecting from VPN
来源:https://stackoverflow.com/questions/53395200/h2-console-is-not-showing-in-browser