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