快速开始一个SpringSecurity应用

132 阅读2分钟

新建一个普通的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,要求所有请求都经过身份验证。它还生成一个具有随机生成密码的用户,该用户登录到控制台,可以使用表单或基本身份验证进行身份验证。