mirror of
				https://github.com/spring-projects/spring-security.git
				synced 2025-11-04 00:28:54 +00:00 
			
		
		
		
	
		
			
	
	
		
			81 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			81 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
								 | 
							
								[[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`.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								====
							 | 
						||
| 
								 | 
							
								.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
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								====
							 | 
						||
| 
								 | 
							
								.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.
							 | 
						||
| 
								 | 
							
								
							 |