开发者学堂课程【5天实战 Spring Boot 2.5:Spring Boot2.5 实战:安全、Swagger、监控与 Docer 容器】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/780/detail/13694
Spring Boot2.5 实战:安全、Swagger、监控与 Docer 容器
内容介绍:
一、移动互联网架构
二、Spring Boot 2.5实战API帮助文档 Swagger
REST API自动生成帮助文档 Swagger
一、移动互联网架构
1.Java Spring Boot 2.0安全机制
(1)自定义实现安全验证
(2) Apache Shiro开源框架
(3) Spring Security开源框架
安全漏洞不仅java有,其他也有,对于专业人士便于发现与解决,一般可能不易发现查询,安全框架相对较为丰富,
2.Java Spring Boot 2.5安全机制
在配置文件中做简单的配置,定义一个类型,做一个规整,对某些请求做验证
Basic基本验证,包括用户、密码两个参数,用户访问网站或接口时时,提供匹配的用户密码,有验证匹配规则问题
整个项目安全系数加一个安全配置,必须具备角色,指定登陆方式,提供登陆网页,输入用户密码,安全配置加依赖与参数
三层代码,写Helloworld在浏览器输入get请求等,返回一个字符串,在实际开发过程中,需要开发工具帮助做接口开发调试
3.安全漏洞
(1) Spring Boot 2020年9月份修复漏洞
(2) Spring Boot Actuator未授权访问远程代码执行漏洞
(3)紧急修复Spring Framework版本包含一个安全漏洞 (C
2020-5421)的修复程序。此漏洞可以通过sessionld绕
RFD (反射型文件 下载)保护.
(4) Spring Boot 2018年修复了- -些安全漏洞
(5)建议使用最新的Sprina 5.0+版本
4.Java Spring Security
(1) Spring Security功能强大且高度可自定义的安全框架。
(2)保护Spring应用系统的安全标准。
(3) Spring Security专注于身份验证和授权。
(4)容易地扩展、自定义开发
(5)前身是Acegi Security,
(6)提供安全认证服务的框架。
(7) Spring Security为基于J2EE企业应用提供了全面安全机制。
(8) Authentication验证和Authorization授权
(9)抵御会话攻击,点击劫持,CSRF跨站请求伪造。
5.Java 安全框架 Shiro
(1) Apache Shiro简单易用的开源Java安全框架,
(2)轻松实现身份验证、授权、加密和会话管理
(3)使用Shiro可以快速实现系统安全。
Swagger接口开发
Swagger改完代码后接口自动更新,在线网站的方式,手写较为麻烦,Swagger基于代码,生成帮助文档,在线式的帮助文档,及时更新,可视化的调试,可以猜测,参数较多时不容易猜测
社区中会存在基于Swagger更改主页,大同小异,在代码中写出某种接口,参数给予注释,基于规则,生成在线帮助文档,提供基本的测试网页,较为好用
6.Spring Security Demo
...
< dependency>
org.springframework.boot d>
spring-boot-starter-security >
...
7.WebSecurityConfig
(1)Spring Security的配置类
(2)WebSecurityConfig
(3)可以配置安全规则
(4)默认启用basic验证
(5)# Spring Security可以在配置文件中关闭
(6)security.basic.enabled = false
8.Web 全站安全验证配置
@Configuration
@Order(SecurityProperties.BASIC AUTH ORDER - 10)
public class ApplicationConfigurerAdapter extends
WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception
{
http.antMatcher("/admin/**")
.authorizeRequests()
.antMatchers("/admin/users").hasRole( "usersAdmin")
.antMatchers(" /admin/orders ").hasRole(“ ordersAdmin" )
.anyRequest().isAuthenticated();
}
}
Swagger加两个引用,依赖性,Swagger生成文档相关的包,代码在其中工作,启动后按照要求写代码,注解本意是注释,是一种特殊类型,提供接口、模型、模型属性、操作、参数、反应、返回结果等解释描述,
配置信息可以加入注释,做详细的描述,get获取,put放置,post提交,delete删除,必备四个单词,属于http协议,提交请求时要带参数
向服务器提交数据时(如注册或下订单),使用post,查询详情或订单时,用get,登录查询手机号或余额时,都是用get
疫情期间,体温监测属于监控
监控数据对于运维人员可以方便及时了解部署的生态环境下的程序的状态,服务器是否承受,如双十一之前需要一万台服务器,双十一当年可能需要十万台甚至更多,请求压力瞬间达到更高的量级,要了解服务器是否正常,参数是重要的,Spring boot本身属于java范畴,java本身提供原始的监控模式,Spring boot本身提供较为灵活的友好的方便的监控的方式,监控参数较多,jvm是java虚拟机,jc垃圾回收器,还有服务器的cpu等都可以监控到,bing是特殊的java对象,携带特殊的参数对象,注入到需要的对象,进行监控
个人信息较为敏感,不能随意公开,需要配置才能使用