Spring Security介绍:
- Spring Security是基于Spring生态圈的,用于提供安全访问控制解决方案的框架
- Spring Security的安全管理有两个重要概念,分别是Authentication(认证)和Authorization(授权)
Spring Boot整合Spring Security实现的安全管理功能:
- MVC Security是Spring Boot整合Spring MVC框架搭建的Web应用的安全管理
- WebFlux Security是Spring Boot整合Spring WebFlux框架搭建的Web应用的安全管理
- OAuth2是大型项目的安全管理框架,可以实现第三方认证、单点登录等功能
- Actuator Security用于对项目的一些运行环境提供安全监控,例如Health健康信息、Info运行信息等,它主要作为系统指标供运维人员查看管理系统的运行情况
基础环境搭建:
-
创建Spring Boot项目,引入Web和Thymeleaf的依赖启动器
-
引入页面Html资源文件
在项目的resources下templates目录中,引入案例所需的资源文件,项目结构如下
-
编写Web控制层
@Controller public class FilmeController { // 影片详情页 @GetMapping("/detail/{type}/{path}") public String toDetail(@PathVariable("type")String type, @PathVariable("path")String path) { return "detail/"+type+"/"+path; } }
开启安全管理效果测试:
-
添加spring-boot-starter-security启动器
一旦项目引入spring-boot-starter-security启动器,MVC Security和WebFlux Security负责的安全功能都会立即生效
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency>
-
项目启动测试
- 项目启动时会在控制台Console中自动生成一个安全密码
-
浏览器访问http://localhost:8080/查看项目首页项目中并没有手动创建用户登录页面,而添加了Security依赖后,Spring Security会自带一个默认的登录页面
-
登录页面随意输入一个错误的用户名和密码,会出现错误提示
-
Security会默认提供一个可登录的用户信息,其中用户名为user,密码随机生成,这个密码会随着项目的每次启动随机生成并打印在控制台上,在登录页面输入用户名和密码
文章评论
水军1号,狗头保命
水军二号 :zhenbang: