WebFlux アプリケーション入門

このセクションでは、リアクティブアプリケーションで Spring Security と Spring Boot を使用する方法の最小設定について説明します。

完成したアプリケーションは、サンプルリポジトリにあります [GitHub] (英語) 。ご参考までに、最小限のリアクティブ Spring Boot + Spring Security アプリケーションをここからダウンロードできます。

依存関係の更新

spring-boot-starter-security を追加することにより、Spring Security を Spring Boot プロジェクトに追加できます。

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

Hello Spring Security Boot の開始

Maven プラグインの run ゴールを使用して、Spring Boot アプリケーションを実行できるようになりました。次の例は、その方法 (およびその結果の出力の先頭) を示しています。

Spring Boot アプリケーションの実行
  • Maven

  • Gradle

$ ./mvnw spring-boot:run
...
INFO 23689 --- [  restartedMain] .s.s.UserDetailsServiceAutoConfiguration :

Using generated security password: 8e557245-73e2-4286-969a-ff57fe326336

...
$ ./gradlew bootRun
...
INFO 23689 --- [  restartedMain] .s.s.UserDetailsServiceAutoConfiguration :

Using generated security password: 8e557245-73e2-4286-969a-ff57fe326336

...

認証

localhost:8080/ でアプリケーションにアクセスすると、ブラウザーがデフォルトのログインページにリダイレクトされます。user のデフォルトのユーザー名に、コンソールに記録されるランダムに生成されたパスワードを指定できます。次に、ブラウザーは最初にリクエストされたページに移動します。

ログアウトするには、localhost:8080/logout にアクセスして、ログアウトすることを確認します。

Spring Boot 自動構成

Spring Boot は、すべてのリクエストを認証する必要がある Spring Security を自動的に追加します。また、フォームまたは基本認証を使用した認証に使用できるコンソールに記録される、ランダムに生成されたパスワードを使用してユーザーを生成します。