在當(dāng)今數(shù)字化轉(zhuǎn)型的浪潮中,SaaS(軟件即服務(wù))模式已成為企業(yè)服務(wù)的主流形態(tài)。然而,對于開發(fā)團隊而言,構(gòu)建一個穩(wěn)定、安全且可擴展的SaaS產(chǎn)品卻面臨著諸多挑戰(zhàn):多租戶隔離、權(quán)限管理、計費系統(tǒng)、性能優(yōu)化……這些基礎(chǔ)功能的開發(fā)往往需要耗費團隊大量的時間和精力,嚴(yán)重拖慢了產(chǎn)品迭代的速度。
向大家介紹一款開源解決方案——Madong Admin,它旨在幫助企業(yè)快速構(gòu)建SaaS產(chǎn)品的核心框架,讓開發(fā)者能夠?qū)W⒂跇I(yè)務(wù)邏輯的創(chuàng)新,而非重復(fù)造輪子。
Madong Admin是一款基于Webman打造的企業(yè)級SaaS快速開發(fā)框架,其核心設(shè)計理念是"約定優(yōu)于配置"。通過提供一套完整的SaaS基礎(chǔ)架構(gòu),幫助開發(fā)者避免了從零開始的繁瑣工作。
我們的目標(biāo)是讓SaaS基礎(chǔ)功能的開發(fā)時間從幾個月縮短到幾天
采用了創(chuàng)新的"混合隔離"策略,開發(fā)者可以根據(jù)業(yè)務(wù)需求靈活選擇:
內(nèi)置了基于RBAC(基于角色的訪問控制)和ABAC(基于屬性的訪問控制)的混合權(quán)限系統(tǒng),內(nèi)置適配Casbin插件輕松拓展自己的權(quán)限,支持:
演示地址:https://admin.madong.tech。
賬號 admin 密碼 123456
在后端系統(tǒng)中,控制層、服務(wù)層、驗證層、DAO層和模型層是常見的架構(gòu)組成部分。以下是對每個層次的簡要介紹:
控制層負(fù)責(zé)處理來自客戶端的請求,接收輸入并返回響應(yīng)。它的主要職責(zé)包括:
服務(wù)層負(fù)責(zé)實現(xiàn)具體的業(yè)務(wù)邏輯,通常包括:
驗證層主要負(fù)責(zé)對輸入數(shù)據(jù)進行驗證,確保數(shù)據(jù)的有效性和完整性。它的主要功能包括:
DAO層負(fù)責(zé)與數(shù)據(jù)庫進行交互,提供數(shù)據(jù)訪問方法。它的主要職責(zé)包括:
模型層定義了系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)和業(yè)務(wù)對象,通常包括:
這種分層架構(gòu)使得后端系統(tǒng)的各個部分職責(zé)明確,便于維護和擴展。每一層都可以獨立開發(fā)和測試,增強了系統(tǒng)的可讀性和可復(fù)用性。通過這種結(jié)構(gòu),開發(fā)者可以更容易地管理復(fù)雜的業(yè)務(wù)邏輯和數(shù)據(jù)操作,從而提高系統(tǒng)的整體性能和穩(wěn)定性。
在啟動項目前,你需要確保你的環(huán)境滿足以下要求:
倉庫 | 地址 |
---|---|
gitee | https://gitee.com/motion-code/madong |
gitcode | https://gitcode.com/motion-code/madong |
點擊鏈接加入騰訊頻道【madong】:https://pd.qq.com/s/3edfwx2lm
非常棒! ?? ?? ??
非常感謝saiadmin作者的認(rèn)可和肯定!
MaDong會持續(xù)努力,保持并提升產(chǎn)品質(zhì)量,期待未來有更多合作和交流的機會,共同推動Webman生態(tài)和進步。
大概看了下項目的代碼風(fēng)格和分層結(jié)構(gòu),還挺規(guī)范的。想請問下大佬,目前 master 分支穩(wěn)定嗎,最近剛好有個新項目在選開源框架
大佬, 啥時候上數(shù)據(jù)權(quán)限, 哈哈
數(shù)據(jù)權(quán)限
前后端分離接口權(quán)限不夠用,默認(rèn)關(guān)閉默認(rèn)路由是無法直接訪問控制器的所有請求都必須經(jīng)過定義路由,默認(rèn)菜單表不添加接口權(quán)限不做驗證的,如果需要更細(xì)可以在菜單表添加接口對應(yīng)角色授權(quán)了才能訪問,這塊可以對菜單進行選項拓展選擇路由列表進行添加創(chuàng)建。
作者大大--源碼拉下來更新composer后,怎么安裝呢
選擇對應(yīng)的分支下載,代碼拉下來composer install 導(dǎo)入scripts 目錄下的sql 就可以了
1.master thinkORM模型
2.laravel laraverORM模型
3.mixture 混合模型適合測試多模型
項目拉下來,試用了下,前端是真夠大。
開啟定時任務(wù)執(zhí)行時:報錯
登錄時,圖形驗證碼錯的也可以登錄哈
感謝你的反饋
1.大前端腳手架相對比較大,最終看打包后項目大小,不建議放到后端代碼里面。
2.驗證碼不生效默認(rèn)關(guān)閉了,config/captcha captcha_open_flag 打開即可 這里后面做調(diào)整關(guān)閉了驗證碼前端不顯示該組件。
3.getCureeUser() 獲取當(dāng)前登錄用戶信息,定時任務(wù)沒有經(jīng)過路由沒有相關(guān)登錄信息導(dǎo)致。
后臺頁面很漂亮??如何能像saiadmin一樣生成代碼就完美了
關(guān)于可視化生成代碼的功能
已有很多小伙伴私信表示期待,認(rèn)識到這一功能對于提高開發(fā)效率和簡化工作流程的重要性。因此,我可以確認(rèn),該功能已經(jīng)在我們的開發(fā)計劃中了。
看了JWT部分:$payload = JWT::jsonDecode(JWT::urlsafeB64Decode($bodyb64));
這個是不是沒有作token的簽名驗證,如果token被惡意篡改豈不是很不安全?還是我看錯了?
創(chuàng)建token 有添加簽名的請查看對應(yīng)getToken
parseToken解析的時候只使用body結(jié)合redis 用戶信息驗證過期時間,如果用戶覺得不安全可以改成完整token解析。
我上個月使用這個這個系統(tǒng)master應(yīng)該是升級到了2.0.模型生成雪花ID會出現(xiàn)重復(fù)。切換到PGSQL數(shù)據(jù)庫部分方法會失效。還有一些方法的返回標(biāo)記的是TP的orm。導(dǎo)致運行報錯,不知道是不是還沒有迭代更新完的原因。自己陸陸續(xù)續(xù)給修改了一些使用了。整體還是不錯的
感謝支持!
目前主分支3.x,社區(qū)近期放出最新版本測試體驗沒有問題的話應(yīng)該在在最近發(fā)公開??梢躁P(guān)注一下頻道動態(tài)或者群動態(tài)。
感謝您的關(guān)注與反饋。我們始終尊重開源社區(qū)的勞動成果,現(xiàn)將使用情況說明如下:
遵循 Apache License 2.0 的要求:
LICENSE
。 README.md
中明確標(biāo)注基于您的插件: 若您認(rèn)為仍有不合規(guī)之處,請具體指出,我們將立即修正。
項目使用雪花id 以及多數(shù)據(jù)源做了相關(guān)調(diào)整,我們的初衷是共建生態(tài),而非重復(fù)造輪子。
很好用的一套開源系統(tǒng)