You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
86 lines
2.7 KiB
86 lines
2.7 KiB
[[getting-started]] |
|
= Getting Started with WebFlux Applications |
|
|
|
This section covers the minimum setup for how to use Spring Security with Spring Boot in a reactive application. |
|
|
|
[NOTE] |
|
==== |
|
The completed application can be found {gh-samples-url}/reactive/webflux/java/hello-security[in our samples repository]. |
|
For your convenience, you can download a minimal Reactive Spring Boot + Spring Security application by https://start.spring.io/starter.zip?type=maven-project&language=java&packaging=jar&jvmVersion=1.8&groupId=example&artifactId=hello-security&name=hello-security&description=Hello%20Security&packageName=example.hello-security&dependencies=webflux,security[clicking here]. |
|
==== |
|
|
|
[[dependencies]] |
|
== Updating Dependencies |
|
|
|
You can add Spring Security to your Spring Boot project by adding `spring-boot-starter-security`. |
|
|
|
[tabs] |
|
====== |
|
Maven:: |
|
+ |
|
[source,xml,role="primary"] |
|
---- |
|
<dependency> |
|
<groupId>org.springframework.boot</groupId> |
|
<artifactId>spring-boot-starter-security</artifactId> |
|
</dependency> |
|
---- |
|
|
|
Gradle:: |
|
+ |
|
[source,groovy,role="secondary"] |
|
---- |
|
implementation 'org.springframework.boot:spring-boot-starter-security' |
|
---- |
|
====== |
|
|
|
|
|
[[servlet-hello-starting]] |
|
== Starting Hello Spring Security Boot |
|
|
|
You can now https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#using-boot-running-with-the-maven-plugin[run the Spring Boot application] by using the Maven Plugin's `run` goal. |
|
The following example shows how to do so (and the beginning of the output from doing so): |
|
|
|
|
|
.Running Spring Boot Application |
|
[tabs] |
|
====== |
|
Maven:: |
|
+ |
|
[source,bash,role="primary"] |
|
---- |
|
$ ./mvnw spring-boot:run |
|
... |
|
INFO 23689 --- [ restartedMain] .s.s.UserDetailsServiceAutoConfiguration : |
|
|
|
Using generated security password: 8e557245-73e2-4286-969a-ff57fe326336 |
|
|
|
... |
|
---- |
|
|
|
Gradle:: |
|
+ |
|
[source,bash,role="secondary"] |
|
---- |
|
$ ./gradlew bootRun |
|
... |
|
INFO 23689 --- [ restartedMain] .s.s.UserDetailsServiceAutoConfiguration : |
|
|
|
Using generated security password: 8e557245-73e2-4286-969a-ff57fe326336 |
|
|
|
... |
|
---- |
|
====== |
|
|
|
[[authenticating]] |
|
== Authenticating |
|
|
|
You can access the application at http://localhost:8080/ which will redirect the browser to the default log in page. You can provide the default username of `user` with the randomly generated password that is logged to the console. The browser is then taken to the orginally requested page. |
|
|
|
To log out you can visit http://localhost:8080/logout and then confirming you wish to log out. |
|
|
|
[[auto-configuration]] |
|
== Spring Boot Auto Configuration |
|
|
|
Spring Boot automatically adds Spring Security which requires all requests be authenticated. It also generates a user with a randomly generated password that is logged to the console which can be used to authenticate using form or basic authentication. |
|
|
|
|