28. 安全

如果Spring Security位于类路径上,那么Web应用程序将默认使用所有HTTP端点上的’basic’身份验证。要向Web应用程序添加方法级安全性,还可以为你想要的设置添加“@EnableGlobalMethodSecurity”。通过点击Spring Security Reference能够找到更多的信息。

‘AuthenticationManager’ 有一个默认用户(用户名为’user’ ,密码随机,在应用程序启动时在INFO级别输出)

Using default security password: 78fa095d-3f4c-48b1-ad50-e24c31d5cf35
Note
如果您调整过日志配置,请确保将“org.springframework.boot.autoconfigure.security”日志级别设置为“INFO”,否则将不打印默认密码。

您可以通过配置“security.user.password”更改默认密码。更多的属性通过SecurityProperties来获取(属性前缀 “security”)。

默认安全配置在从(在用于Web安全的’SpringBootWebSecurityConfiguration’和非web应用程序中相关用于认证配置的“AuthenticationManagerConfiguration”)那里导入的类“SecurityAutoConfiguration”中实现。你可以添加一个@EnableWebSecurity注解的Bean来关闭默认Web应用程序安全性配置完全(这不会禁用身份验证管理器配置或执行器的安全性)。要定制它,通常使用外部属性和类型为’WebSecurityConfigurerAdapter’的bean(例如,添加基于表单的登录)。您也可以添加一个类型为“AuthenticationManager”的bean来关闭身份验证管理器配置,或者通过将“AuthenticationManagerBuilder”自动注入到“@Configuration”类中的方法来配置全局“AuthenticationManager”。在Spring Boot samples中有几个security应用的常见例子来开始你的旅程。

在web应用中能够开箱即用的基础功能:

  • 具有内存存储和单一用户的类型为“AuthenticationManager”的Bean(请参阅为“SecurityProperties.User”的用户属性)。
  • 忽略(不安全)带有公共静态资源地址(’/ css / **’,’/ js / **’,’/ images / **’,’/ webjars / **’和’** / favicon.ico) ‘)的路径。
  • 其他所有端点的HTTP基础安全。
  • 发布到Spring的ApplicationEventPublisher的Security事件(成功和失败的身份验证和拒绝访问)。
  • Spring security在默认情况下提供常见的低级功能 (HSTS,XSS,CSRF,缓存)

上述所有的功能都可以通过修改外部属性(security.*)来打开和关闭。要在不更改任何其他自动配置功能的情况下覆盖访问规则,请添加“类型为“WebSecurityConfigurerAdapter”,注解@Order(SecurityProperties.ACCESS_OVERRIDE_ORDER)的@Bean,并配置它以满足您的需要。

Note
默认情况下,’WebSecurityConfigurerAdapter’ 将匹配任何路径。如果你不想要完全覆盖Spring Boot自动配置访问规则,您的适配器必须显式配置要覆盖的路径。

转载自 并发编程网 - ifeve.com

《Spring Boot官方指南》28.安全相关推荐

  1. 【Spring Boot】28.开发热部署

    2019独角兽企业重金招聘Python工程师标准>>> 简介 在开发中我们修改一个Java文件后想看到效果不得不重启应用,这导致大量时间花费,我们希望不重启应用的情况下,程序可以自动 ...

  2. 2023最新首发,全网最全 Spring Boot 学习宝典(附思维导图)

    作者:bug菌 博客:CSDN.掘金.infoQ.51CTO等 简介:CSDN/阿里云/华为云/51CTO博客专家,博客之星Top30,掘金年度人气作者Top40,51CTO年度博主Top12,掘金/ ...

  3. Spring Boot安装及使用(2021.10.28)

    Spring Boot安装及使用 2021.10.28 1.Spring Boot 简介 1.1 为何选择Spring? 1.2 Spring的功能 1.3 Spring项目的依赖包管理工具(Mave ...

  4. (28)SpringBoot启动时的Banner设置【从零开始学Spring Boot】

    对于使用过Spring Boot的开发者来说,程序启动的时候输出的由字符组成的Spring符号并不陌生.这个是Spring Boot为自己设计的Banner: 1.    .   ____       ...

  5. Spring boot升级到2.3.2.Release和Spring framework升级到5.28.Release踩过的坑

    目录 1. 利用下面方法启动spring boot 项目是系统参数不生效 2. org.drools.template.parser.DecisionTableParseException: Fail ...

  6. 【SpringBoot学习】28、Spring Boot 整合 TKMybatis 通用 Mapper

    文章目录 Spring Boot 整合 TKMybatis 自定义父类接口 新增接口 新增之后回显 Id 更新 删除 单查询 查询列表 计数 条件构造器 技术分享区 Spring Boot 整合 TK ...

  7. Spring Boot 3.0.0-M1 Reference Documentation(Spring Boot中文参考文档) 9-16

    9. 数据 Spring Boot与多个数据技术集成,包括SQL和NoSQL. 9.1. SQL数据库 Spring Framework提供扩展支持用于与SQL数据工作,从使用JdbcTemplate ...

  8. Spring Boot 整合Redis 实现缓存

    本文提纲 一.缓存的应用场景 二.更新缓存的策略 三.运行 springboot-mybatis-redis 工程案例 四.springboot-mybatis-redis 工程代码配置详解 运行环境 ...

  9. spring boot 服务 正确关闭方式

    引言 Spring Boot,作为Spring框架对"约定优先于配置(Convention Over Configuration)"理念的最佳实践的产物,它能帮助我们很快捷的创建出 ...

最新文章

  1. 谷歌又一部门震荡:半年2名副总出走,开发团队只剩一半
  2. 机器学习 python_送书 | 深入浅出Python机器学习
  3. 【存储知识学习】第五章-5.4虚拟磁盘和5.5卷管理层-《大话存储》阅读笔记
  4. C++ 类和对象(二):构造函数、析构函数、拷贝构造函数、运算符重载
  5. C# 图片识别(支持21种语言)
  6. 引导linux的工具下载,多系统引导工具(BootThink)下载_多系统引导工具(BootThink)官方下载-太平洋下载中心...
  7. linux mongodb 升级,MongoDB2.6简单快速升级到3.0
  8. C++ 泛型编程-类模板
  9. Hyper-V虚拟机Redhat添加网卡找不到网卡配置文件解决方法
  10. “TI门外汉”网路知识笔记四 单臂路由
  11. 编译或者运行找不到库解决
  12. 正则表达式忽略大小写
  13. criteria 用法
  14. 淘宝、百度、腾讯、新浪开放平台
  15. python中可选参数是什么意思_【IT专家】python 函数参数(必选参数、默认参数、可选参数、关键字参数)...
  16. 搜索引擎的检索模型-查询与文档的相关度计算
  17. las 点云创建网格
  18. 搞的谁还不会爬福利美女跳舞视频一样,用我这个方法非常简单。
  19. linux C++ 使用openssl rsa算法实现对计算机物理地址进行签名和认证
  20. 大部分中产阶级都只是靠工资过中产,如何增加睡后收入?

热门文章

  1. mac系统pycharm配置python环境_Python--在Mac下安装PyQt5环境并配合pycharm(全部使用当前最新版)...
  2. mac os 编译android,Mac OS X 编译Android内核源代码
  3. html工具箱源码,大灰狼的ASP工具箱——XMLHTTP的应用,获得远程的文件,获得远程HTML文件源码...
  4. linux 释放进程res_linux下查询进程占用的内存方法总结
  5. 一梦江湖一直获取服务器信息啥意思,《一梦江湖》原《楚留香》手游:叮咚!少侠你的NPC侠缘送来信物...
  6. 单片机的最新发展动态_【计算机论文】单片机在节能、语言交流和智能监控上的应用...
  7. 2021亳州高考成绩查询,2021年亳州高考状元名单公布,亳州文理科状元是谁多少分...
  8. python dir()
  9. VSCode Vim
  10. 编程通用知识 文件流