web-dev-qa-db-fra.com

H2-Console n'est pas à l'affiche dans le navigateur

Je travaille sur SpringBoot api et j'utilise la base de données H2 avec les paramètres de propriété suivants.

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

Lorsque je souhaite utiliser le navigateur pour afficher la console de base de données H2 via ' http: // localhost: 8082/h2-console ', un écran s'ouvre dans le navigateur avec le bouton de connexion et de test de connexion. Lorsque je clique sur Tester la connexion, il revient avec succès, mais lorsque je clique sur le bouton Connecter, une erreur survient lorsque localhost a refusé de se connecter.

Here is the screen of that error

11
TAB

Selon cet article de blog , une ligne doit être ajoutée à la méthode configure de la classe SecurityConfig si vous avez le spring-boot-starter-security dépendance dans votre projet, sinon vous verrez une page vide après vous être connecté à la console H2:

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

J'ai ajouté cette ligne et cela a résolu le problème.

Alternativement, la ligne suivante peut être utilisée (comme mentionné ici ):

http.headers().frameOptions().sameOrigin();
27
Alien

En dehors de la réponse de @ Alien, j'ai dû ajouter http.csrf().disable(); également.

1
Amit