h2-consoleとspring-boot-starter-securityと私
概要
spring-boot-starter-security
を導入しても http://localhost:8080/h2-console にアクセスしたかった。
作業結果: https://github.com/yukihane/hello-java/tree/master/spring/h2-console-spring-security-example
手順
h2-console が使える依存関係を追加してプロジェクトセットアップ 8113d7
|
|
h2-console を表示してみる 1b16dc
spring.h2.console.enabled=true
spring.datasource.generate-unique-name=false
|
|
(注: spring.datasource.generate-unique-name
設定は Spring Boot 2.3.0 からデフォルト値が変わったため必要になったもので、リンク先 Git リポジトリには含まれていません(参考))
の設定を行った上で http://localhost:8080/h2-console/ へアクセス。
項目名 | 設定値 |
---|---|
Driver Class | org.h2.Driver |
JDBC URL | jdbc:h2:mem:testdb |
User Name | sa |
Password | (空) |
spring-boot-starter-security
を追加してアクセスしてみる 61357fe
|
|
http://localhost:8080/h2-console/
@Configuration
public class MyWebSecConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(final HttpSecurity http) throws Exception {
}
}
h2-console ログイン画面が表示されるので上で書いたものと同じ入力を行い Connect。
Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.Fri Jul 12 11:30:17 JST 2019
There was an unexpected error (type=Forbidden, status=403).
Forbidden
なぜなのか。
対処 d4b449b
@Configuration
public class MyWebSecConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(final HttpSecurity http) throws Exception {
http.csrf().disable();
http.headers().frameOptions().disable();
}
}