え? /loginで知らないログイン画面が。。 Spring Securityのログイン画面を表示させない方法

こんにちは、さるまりんです。

こんな画面、みたことあります?

Spring Bootで開発したWebアプリケーションで/loginにアクセスすると表示されました。

なんじゃこりゃ?と思っていたところ、pom.xmlに次の設定をしていると出てくるようです。

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-security</artifactId>
</dependency>

Spring Securityの設定です。
これを使って特定のパスにしかアクセスできないようにするなどの制御をしていたのですが、こんなものが出ていたとは。。。

表示しないようにするにはこう↓です。

@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity security) throws Exception {
        security.httpBasic().disable();
    }
}

以前はプロパティファイルで↓のように設定するだけで表示しないようにできたみたいです。

# security off
security.basic.enabled=false

が、今は効きません。

これ↓でもログインフォームを表示しないようにすることができます。

@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity security) throws Exception {
        security.formLogin().disable();
    }
}

この画面がどれだけ問題になるのかはあまりよくわかっていませんが、使っていないものだし表示されているとせっかくのセキュリティがダメですよね。
Spring Securityを使っているならログインフォームは非表示にすることを忘れないようにしなくちゃ。

読んでくださってありがとうございました。

それではまた!