JeecgBoot低代碼快速開發(fā)框架,用于生產環(huán)境必須改造的9個關鍵點(低代碼java開源框架)
1. 增加Flyway DB Migration,支持版本化管理數(shù)據(jù)庫
2. 完善API安全性:權限控制,訪問頻率限制
3. 停用sys系列接口,如果需要使用,就要完善權限控制
4. 禁用在線表單開發(fā)功能,停用online系列接口
5. 關閉Swagger接口文檔
6. 增加文件訪問權限控制,可以使用OSS云存儲私有鏈接方案
7. 修改初始化SQL設置的admin默認密碼
8. 優(yōu)化API調用日志,配置獨立的logServer
9. 結合業(yè)務完善數(shù)據(jù)庫事務管理
JeecgBoot低代碼開發(fā)框架,基于代碼生成器,快速開發(fā)企業(yè)信息應用系統(tǒng)。
開源項目:代碼托管在Github和Gitee,國內用戶使用Gitee下載速度快
系統(tǒng)環(huán)境:Win10/Ubuntu,JDK8,maven,node,docker
依賴服務:Docker,MySQL8,Redis5
1. 增加Flyway DB Migration,支持版本化管理數(shù)據(jù)庫
JeecgBoot提供了初始化SQL腳本,然而在實際項目中,經(jīng)常需要新增數(shù)據(jù)表,或者對已有數(shù)據(jù)表進行調整,比如增加提現(xiàn)密碼。
此時不可避免地需要對SQL腳本進行管理,推薦使用Flyway,SpringBoot集成起來非常便捷。
1) Pom.xml增加依賴:
2) Application.yml增加配置:
3) resources目錄下增加SQL腳本:
2. 完善API安全性:權限控制,訪問頻率限制
JeecgBoot框架沒有對API增加完善的權限控制,比如讀取用戶信息、部門信息,也沒有增加訪問頻率控制。
增加修飾符@AccessLimited,配置攔截器,統(tǒng)一完善API安全機制。
3. 停用sys系列接口,如果需要使用,就要完善權限控制
JeecgBoot為后臺管理系統(tǒng)提供了豐富的接口,可以操作所有數(shù)據(jù)表,功能強大。如果在生產環(huán)境中繼續(xù)使用這些接口,那么就需要完善權限控制,實現(xiàn)方法可以參考上一節(jié)。
4. 禁用在線表單開發(fā)功能,停用online系列接口
JeecgBoot提供的在線表單開發(fā)功能非常強大實用,然而在部署生產環(huán)境時,一定不要忘記屏蔽,否則扒庫、刪庫都不在話下,看你的運氣了。
5. 關閉Swagger接口文檔
只需要在配置文件中改動一點,就不至于把所有接口公布于眾了。
6. 增加文件訪問權限控制,可以使用OSS云存儲私有鏈接方案
JeecgBoot提供的文件訪問路徑,并沒有增加權限控制,所以需要結合實際存儲方式,疊加權限實現(xiàn)方案。
羚駕科技業(yè)務系統(tǒng)使用阿里云OSS存儲文件,請求接口時,判斷是否滿足權限要求,然后生成臨時地址,并且設置有效期。
7. 修改初始化SQL設置的admin默認密碼
運行初始化SQL腳本后,超級管理員默認密碼123456,別忘記改了,事情雖小,影響卻大。
在初始化SQL腳本基礎上,增加一個修改密碼的腳本。
8. 優(yōu)化API調用日志,配置獨立的logServer
JeecgBoot提供了@AutoLog修飾符,然后將日志信息保存到了數(shù)據(jù)表sys_log中,這個方案在實際生產環(huán)境中容易造成大量的日志信息占用數(shù)據(jù)庫存儲空間,甚至影響到數(shù)據(jù)庫性能。
9. 結合業(yè)務完善數(shù)據(jù)庫事務處理
實際業(yè)務系統(tǒng)需要完整的數(shù)據(jù)庫事務管理,按照需求實現(xiàn)。