2016-10-20 11 views
12

Używam Spring Boot 1.4.1 z bazą danych H2. Mam włączone konsolę H2, jak opisano w reference guide dodając następujące wiersze do moich application.properties file:Dlaczego konsola H2 w Spring Boot pokazuje pusty ekran po zalogowaniu?

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

Kiedy idę do konsoli H2 w Chrome 53 dla Windows, widzę na stronę logowania i kliknięcie „test połączenia” wyniki przycisk „test udanego”:

enter image description here

ale po kliknięciu na przycisk „Połącz”, ekran staje się całkowicie puste. Gdy wyświetlam źródło, widzę "Niestety, Lynx nie jest jeszcze obsługiwany" (zobacz full source). To samo dzieje się w Firefoksie.

Dlaczego tak się dzieje? Uważam, że używam poprawnego adresu URL JDBC, ponieważ 4 różne osoby zamieściły na this question, że powinieneś użyć jdbc:h2:mem:testdb.

Odpowiedz

25

Według blog post potrzebuje linia należy doliczyć do metoda klasy SecurityConfig Jeśli masz zależność w projekcie spring-boot-starter-securityconfigure, w przeciwnym razie pojawi się pusta strona po zalogowaniu do konsoli H2:

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

Dodałem tę linię i rozwiązało problem.

Alternatywnie następujący wiersz może być używany (jak wspomniano here):

http.headers().frameOptions().sameOrigin(); 
+0

To brzmi jak błąd w wiosennym Boot. Otworzyłem https://github.com/spring-projects/spring-boot/issues/7198, abyśmy mogli zbadać sprawę. –

+0

Kup temu człowiekowi piwo! Zadziałało;) –

+0

I sekunda sugestia sashok_bg. – onnoweb

0

Dodaj do Twoich application.properties

security.headers.frame=false 
+0

Nie działa dla mnie. :( – Enrique