web-dev-qa-db-ja.com

ログインした後、Spring BootのH2コンソールに空白の画面が表示されるのはなぜですか?

H2データベースでSpring Boot 1.4.1を使用しています。 リファレンスガイド で説明されているように、application.propertiesファイルに次の行を追加して、H2コンソールを有効にしました。

_spring.h2.console.enabled=true
spring.h2.console.path=/h2
_

Chrome 53 for Windows)でH2コンソールに移動すると、ログインページが表示され、[テスト接続]ボタンをクリックすると、[テスト成功]が表示されます。

enter image description here

しかし、「接続」ボタンをクリックすると、画面が完全に空白になります。ソースを表示すると、「申し訳ありませんが、Lynxはまだサポートされていません」と表示されます( 完全なソース を参照)。 Firefoxでも同じことが起こります。

なぜそれが起こっているのですか? _jdbc:h2:mem:testdb_を使用する必要があると この質問 に4人の異なるユーザーが投稿したため、私は正しいJDBC URLを使用していると思います。

40
pacoverflow

ブログ投稿 によると、プロジェクトにspring-boot-starter-security依存関係がある場合、configureクラスのSecurityConfigメソッドに行を追加する必要がありますそれ以外の場合は、H2コンソールにログインした後に空のページが表示されます。

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

その行を追加し、問題を解決しました。

または、次の行を使用することもできます(前述の here )。

http.headers().frameOptions().sameOrigin();
79
pacoverflow

SecurityConfigクラスで次のコードを使用して同じ問題を解決できます

@Override
protected void configure(HttpSecurity http) throws Exception {
    bla();
    bla();   
    http.headers().frameOptions().sameOrigin();
}

私はこの行が何をしているのか分かりません、多分経験のある人がそれを説明できるでしょう。

5

これをapplication.propertiesに追加します

 security.headers.frame=false
0
Antariksh