JeecgBoot低代码快速开发框架,用于生产环境必须改造的9个关键点(低代码java开源框架)
1. 增加Flyway DB Migration,支持版本化管理数据库
2. 完善API安全性:权限控制,访问频率限制
3. 停用sys系列接口,如果需要使用,就要完善权限控制
4. 禁用在线表单开发功能,停用online系列接口
5. 关闭Swagger接口文档
6. 增加文件访问权限控制,可以使用OSS云存储私有链接方案
7. 修改初始化SQL设置的admin默认密码
8. 优化API调用日志,配置独立的logServer
9. 结合业务完善数据库事务管理
JeecgBoot低代码开发框架,基于代码生成器,快速开发企业信息应用系统。
开源项目:代码托管在Github和Gitee,国内用户使用Gitee下载速度快
系统环境:Win10/Ubuntu,JDK8,maven,node,docker
依赖服务:Docker,MySQL8,Redis5
1. 增加Flyway DB Migration,支持版本化管理数据库
JeecgBoot提供了初始化SQL脚本,然而在实际项目中,经常需要新增数据表,或者对已有数据表进行调整,比如增加提现密码。
此时不可避免地需要对SQL脚本进行管理,推荐使用Flyway,SpringBoot集成起来非常便捷。
1) Pom.xml增加依赖:
2) Application.yml增加配置:
3) resources目录下增加SQL脚本:
2. 完善API安全性:权限控制,访问频率限制
JeecgBoot框架没有对API增加完善的权限控制,比如读取用户信息、部门信息,也没有增加访问频率控制。
增加修饰符@AccessLimited,配置拦截器,统一完善API安全机制。
3. 停用sys系列接口,如果需要使用,就要完善权限控制
JeecgBoot为后台管理系统提供了丰富的接口,可以操作所有数据表,功能强大。如果在生产环境中继续使用这些接口,那么就需要完善权限控制,实现方法可以参考上一节。
4. 禁用在线表单开发功能,停用online系列接口
JeecgBoot提供的在线表单开发功能非常强大实用,然而在部署生产环境时,一定不要忘记屏蔽,否则扒库、删库都不在话下,看你的运气了。
5. 关闭Swagger接口文档
只需要在配置文件中改动一点,就不至于把所有接口公布于众了。
6. 增加文件访问权限控制,可以使用OSS云存储私有链接方案
JeecgBoot提供的文件访问路径,并没有增加权限控制,所以需要结合实际存储方式,叠加权限实现方案。
羚驾科技业务系统使用阿里云OSS存储文件,请求接口时,判断是否满足权限要求,然后生成临时地址,并且设置有效期。
7. 修改初始化SQL设置的admin默认密码
运行初始化SQL脚本后,超级管理员默认密码123456,别忘记改了,事情虽小,影响却大。
在初始化SQL脚本基础上,增加一个修改密码的脚本。
8. 优化API调用日志,配置独立的logServer
JeecgBoot提供了@AutoLog修饰符,然后将日志信息保存到了数据表sys_log中,这个方案在实际生产环境中容易造成大量的日志信息占用数据库存储空间,甚至影响到数据库性能。
9. 结合业务完善数据库事务处理
实际业务系统需要完整的数据库事务管理,按照需求实现。