小呆呆的生活

  • 首页
  • 分类
    • Linux
    • MySQL
    • SpringBoot
    • SpringCloud
  • 工具
  • 留言
  • 登录
  • 注册
  • 友情链接
    • 咸鱼的窝
    • DIY熙的家
    • Farmer的自习室
    • Dark的小黑屋
  • 关于
人的一生注定会遇到两个人
一个惊艳了时光,一个温柔了岁月
  1. 首页
  2. SpringBoot框架
  3. 正文

Spring Security快速入门

2020年 4月 25日 1229次阅读 1人点赞 2条评论

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

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: Spring SpringBoot
最后更新:2022年 3月 29日

小呆呆

知足常乐,就会拥有幸福

点赞
< 上一篇
下一篇 >

文章评论

  • xiaodaidai

    水军1号,狗头保命

    2021年 5月 7日
    回复
  • 你真的很棒

    水军二号 :zhenbang:

    2021年 6月 25日
    回复
  • razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
    取消回复

    小呆呆

    知足常乐,就会拥有幸福

    最新 热点 随机
    最新 热点 随机
    数据库索引简析 Java多线程的使用场景以及线程的创建方式 Spring事务的使用示例和传播行为以及失效场景 Spring Boot使用JUnit和Mockito进行Service层单元测试 Spring Cloud Zuul和Gateway的简单示例(搭建方式) Spring Cloud的网关Zuul和Gateway
    Spring Boot项目搭建方式 Spring事务的使用示例和传播行为以及失效场景 MySQL练习(二) grep 'temporary password' /var/log/mysqld.log打印为空 Spring Boot使用JUnit和Mockito进行Service层单元测试 SpringCloud五大核心组件
    标签聚合
    Spring 干货 面试 SpringCloud MySQL SpringBoot 后端 Java
    最近评论
    我是可是尼古拉斯·爱新觉·罗·G·钰豪啊 发布于 3 年前(04月08日) 我来注水了胜哥 :hehe:
    鸟人金 发布于 3 年前(03月03日) v
    鸟人金 发布于 3 年前(03月03日) 胜哥yyds
    鸟人金 发布于 3 年前(03月03日) 我滴偶像!!!!!!!!!!!!!!!
    水军2号 发布于 3 年前(03月03日) 胜哥tql
    归档
    • 2024 年 2 月
    • 2024 年 1 月
    • 2023 年 12 月
    • 2023 年 11 月
    • 2023 年 10 月
    • 2023 年 8 月
    • 2023 年 6 月
    • 2022 年 11 月
    • 2022 年 8 月
    • 2022 年 6 月
    • 2022 年 4 月
    • 2022 年 3 月
    • 2022 年 1 月
    • 2021 年 12 月
    • 2021 年 9 月
    • 2021 年 8 月
    • 2021 年 6 月
    • 2021 年 4 月
    • 2020 年 10 月
    • 2020 年 9 月
    • 2020 年 8 月
    • 2020 年 7 月
    • 2020 年 6 月
    • 2020 年 5 月
    • 2020 年 4 月
    • 2020 年 3 月

    COPYRIGHT © 2023 小呆呆的生活. ALL RIGHTS RESERVED.

    Theme Kratos Made By Seaton Jiang

    粤ICP备2020104583号

    粤公网安备44011802000463号