Spring Security快速入门

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运行信息等,它主要作为系统指标供运维人员查看管理系统的运行情况

基础环境搭建:

  1. 创建Spring Boot项目,引入Web和Thymeleaf的依赖启动器

    image-20210425171036484

  2. 引入页面Html资源文件

    在项目的resources下templates目录中,引入案例所需的资源文件,项目结构如下

    image-20210425171448378

  3. 编写Web控制层

    @Controller
    public class FilmeController {
       // 影片详情页
        @GetMapping("/detail/{type}/{path}")
        public String toDetail(@PathVariable("type")String type, 
                                    @PathVariable("path")String path) {
            return "detail/"+type+"/"+path; 
        }
    }
    

开启安全管理效果测试:

  1. 添加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>
    
  2. 项目启动测试

    • 项目启动时会在控制台Console中自动生成一个安全密码

    image-20210425171909324

    • 浏览器访问http://localhost:8080/查看项目首页项目中并没有手动创建用户登录页面,而添加了Security依赖后,Spring Security会自带一个默认的登录页面

      image-20210425171958125

    • 登录页面随意输入一个错误的用户名和密码,会出现错误提示

      image-20210425172025942

    • Security会默认提供一个可登录的用户信息,其中用户名为user,密码随机生成,这个密码会随着项目的每次启动随机生成并打印在控制台上,在登录页面输入用户名和密码

      image-20210425172046074

点赞
  1. 呆呆说道:
    Google Chrome Windows 10
    水军1号,狗头保命
  2. 你真的很棒说道:
    Google Chrome Windows 10
    水军二号 :zhenbang:

发表回复

电子邮件地址不会被公开。必填项已用 * 标注