Spring Boot2.5 实战:安全、Swagger、监控与 Docer 容器|学习笔记(一)

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 快速学习 Spring Boot2.5 实战:安全、Swagger、监控与 Docer 容器

开发者学堂课程【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安全机制

图片1.png

在配置文件中做简单的配置,定义一个类型,做一个规整,对某些请求做验证

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对象,携带特殊的参数对象,注入到需要的对象,进行监控

个人信息较为敏感,不能随意公开,需要配置才能使用

相关文章
|
4月前
|
前端开发 Java 应用服务中间件
Spring Boot 2.x 嵌入式 Servlet 容器
Spring Boot使用内嵌Tomcat,默认端口8080,可通过`application.properties`配置端口、上下文路径等。配置方式有两种:1) 直接在配置文件中添加`server.port`和`server.servlet.context-path`;2) 创建`WebServerFactoryCustomizer` Bean来自定义配置,如设置端口`factory.setPort(8083)`,这种方式优先级更高。
|
4月前
|
Java Spring 容器
深入理解Spring Boot中的容器与依赖注入
深入理解Spring Boot中的容器与依赖注入
|
5月前
|
Java API Docker
使用Spring Boot和Docker进行容器化部署
使用Spring Boot和Docker进行容器化部署
|
5月前
|
Java 应用服务中间件 Maven
SpringBoot(六)之内嵌容器
需要用哪个容器,就把其他两个容器注释掉。(
48 0
|
5月前
|
Java 应用服务中间件 容器
手写SpringBoot(二)之动态切换Servlet容器
我们在切换serlvet容器的时候,会将SpringBoot默认的tomcat jar包给排除掉,换上我们需要的jar包,比如jetty。
40 0
|
5月前
|
Java Docker 容器
springboot项目容器化
springboot项目容器化
|
6月前
|
存储 前端开发 Java
springboot中的第二个IOC容器BootstrapContext
springboot中的第二个IOC容器BootstrapContext
springboot中的第二个IOC容器BootstrapContext
|
Java 应用服务中间件 容器
25 SpringBoot使用外置的Servlet容器
25 SpringBoot使用外置的Servlet容器
53 0
|
6月前
|
存储 Java 应用服务中间件
Springboot项目打war包部署到外置tomcat容器【详解版】
该文介绍了将Spring Boot应用改为war包并在外部Tomcat中部署的步骤:1) 修改pom.xml打包方式为war;2) 排除内置Tomcat依赖;3) 创建`ServletInitializer`类继承`SpringBootServletInitializer`;4) build部分需指定`finalName`;5) 使用`mvn clean package`打包,将war包放入外部Tomcat的webapps目录,通过startup脚本启动Tomcat并访问应用。注意,应用访问路径和静态资源引用需包含war包名。
453 0
|
6月前
|
Java Maven Docker
【SpringBoot系列】SpringBoot应用程序容器化及容器优化
【4月更文挑战第4天】SpringBoot应用程序容器化及容器大小优化
100 0
下一篇
无影云桌面