新建一个普通的SpringBoot项目,这里我们使用版本为2.3.7.RELEASE
。
在 pom.xml 文件中添加以下依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webflux</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
直接运行项目,查看控制台打印:
# 这里一大段打印信息可以不用管
...........
o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor'
2022-05-04 22:57:37.446 INFO 12128 --- [ main] .s.s.UserDetailsServiceAutoConfiguration :
# 这里需要重点注意的
Using generated security password: 430774e5-7762-4941-81b6-cb67906a5d58
2022-05-04 22:57:37.526 INFO 12128 --- [ main] o.s.s.web.DefaultSecurityFilterChain : Creating filter chain: any request,
......
o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path ''
2022-05-04 22:57:37.575 INFO 12128 --- [ main] com.hz.ss.HzSs01Application : Started HzSs01Application in 2.984 seconds (JVM running for 4.019)
2022-05-04 22:57:47.222 INFO 12128 --- [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-05-04 22:57:47.222 INFO 12128 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'
2022-05-04 22:57:47.229 INFO 12128 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 7 ms
到这里一个简单的 SpringSecurity 应用就完成了。
我们访问 http://127.0.0.1:8080 会直接跳转到一个默认的登录页。我们输入 SpringSecurity 默认的登录用户名 user
和上面控制台打印的一个随机密码430774e5-7762-4941-81b6-cb67906a5d58
即可登入系统。
若我们需要退出系统,可以访问 http://127.0.0.1:8080/logout,然后确认注销。
说明: 这种方式,Spring Boot自动添加Spring Security,要求所有请求都经过身份验证。它还生成一个具有随机生成密码的用户,该用户登录到控制台,可以使用表单或基本身份验证进行身份验证。