【问题标题】:H2-Console is not showing in browserH2-Console 未在浏览器中显示
【发布时间】:2019-04-23 00:38:48
【问题描述】:

我正在使用 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 数据库控制台时,会在浏览器中打开一个带有连接和测试连接按钮的屏幕。当我点击测试连接时,它返回成功,但当我点击连接按钮时,错误出现本地主机拒绝连接。

【问题讨论】:

标签: spring-boot h2


【解决方案1】:

在你的 spring 安全文件中添加这两行,你就可以开始了。

    http.csrf().disable();
    http.headers().frameOptions().disable();

【讨论】:

    【解决方案2】:

    默认情况下,Spring Security 禁用 iframe 内的渲染,因为允许将网页添加到框架可能是一个安全问题,例如 Clickjacking。由于 H2 控制台在框架内运行,因此在启用 Spring 安全性时,必须明确禁用框架选项,以使 H2 控制台正常工作。

    http.headers().frameOptions().disable();
    

    一般来说X-Frame-Options 有两个可能的指令,分别是 DENY 或 SAMEORIGIN,因此以下配置也可用于受限但安全的访问。

    headers().frameOptions().sameOrigin();
    

    这允许页面显示在与页面本身同源的框架中

    【讨论】:

    • 您的回答是最完整、最安全的。谢谢!
    【解决方案3】:

    除了@Alien 的回复,我还要加上http.csrf().disable();

    【讨论】:

      【解决方案4】:

      添加以下第一行 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>
      

      【讨论】:

        猜你喜欢
        • 2017-03-24
        • 1970-01-01
        • 2019-03-20
        • 2014-12-07
        • 2018-12-02
        • 2021-03-05
        • 2016-07-24
        • 2011-07-15
        • 2011-04-03
        相关资源
        最近更新 更多