Почему консоль H2 в Spring Boot показывает пустой экран после входа в систему?
Я использую Spring Boot 1.4.1 с базой данных H2. Я включил консоль H2, как описано в справочном руководстве , добавив следующие строки в файл application.properties:
spring.h2.console.enabled=true
spring.h2.console.path=/h2
Когда я перехожу на консоль H2 в Chrome 53 для Windows, я вижу страницу входа и нажатие кнопки "Test Connection" приводит к "Тест успешно":
![введите описание изображения здесь]()
Но когда я нажимаю кнопку "Подключиться", экран становится совершенно пустым. Когда я просматриваю источник, я вижу "Извините, Lynx еще не поддерживается" (см. полный источник). То же самое происходит в Firefox.
Почему это происходит? Я считаю, что я использую правильный URL JDBC, так как 4 разных человека размещены на этом вопросе, что вы должны использовать jdbc:h2:mem:testdb
.
Ответы
Ответ 1
Согласно сообщению в блоге, необходимо добавить строку
configure
метода класса SecurityConfig
, если у вас есть зависимость spring-boot-starter-security
в вашем проекте, иначе вы увидите пустую страницу после входа в консоль H2:
http.headers().frameOptions().disable();
Я добавил эту строку и решил проблему.
В качестве альтернативы можно использовать следующую строку (как упоминалось здесь):
http.headers().frameOptions().sameOrigin();
Ответ 2
Я могу решить ту же проблему, используя следующий код в моем классе SecurityConfig
@Override
protected void configure(HttpSecurity http) throws Exception {
bla();
bla();
http.headers().frameOptions().sameOrigin();
}
Я не знаю, что делает эта строка, может быть, кто-то с большим опытом может объяснить это.
Ответ 3
Добавьте это в свой application.properties
security.headers.frame=false