OpenAuth.Core基于 .Net Core 2.1 的快速開發(fā)框架
.Net Core快速應(yīng)用開發(fā)框架、最好用的權(quán)限工作流系統(tǒng)。基于經(jīng)典領(lǐng)域驅(qū)動設(shè)計的權(quán)限管理及快速開發(fā)框架,源于Martin Fowler企業(yè)級應(yīng)用開發(fā)思想及最新技術(shù)組合(IdentityServer、EF core、Quartz、AutoFac、WebAPI、Swagger、Mock、NUnit、VUE、Element-ui等)。已成功在docker/jenkins中實施。核心模塊包括:組織機構(gòu)、角色用戶、權(quán)限授權(quán)、表單設(shè)計、工作流等。它的架構(gòu)精良易于擴展,是中小企業(yè)的首選。
本項目基于.net core(最新sdk版本v3.1.100)的跨平臺版本,使用.net 4.5的同學(xué)請移步:https://gitee.com/yubaolee/OpenAuth.Net
官方網(wǎng)站 http://www.openauth.me
演示直達
-
企業(yè)版演示地址: http://demo.openauth.me:1803
-
開源版演示地址: http://demo.openauth.me:1802
核心看點
-
支持.net core sdk 3.1.100
-
超強的自定義權(quán)限控制功能,可靈活配置用戶、角色可訪問的數(shù)據(jù)權(quán)限。請參考:通用權(quán)限設(shè)計與實現(xiàn)
-
完整的字段權(quán)限控制,可以控制字段可見及API是否返回字段值
-
可拖拽的表單設(shè)計
-
可視化流程設(shè)計
-
基于Quartz.Net的定時任務(wù)控制,可隨時啟/停,可視化配置Cron表達式功能
-
基于CodeSmith的代碼生成功能,可快速生成帶有頭/明細結(jié)構(gòu)的頁面
-
支持sqlserver、mysql數(shù)據(jù)庫,理論上支持所有數(shù)據(jù)庫
-
集成IdentityServer4,實現(xiàn)基于OAuth2的登錄體系
-
建立三方對接規(guī)范,已有系統(tǒng)可以無縫對接流程引擎
-
前端采用 vue + layui + elementUI + ztree + gooflow + leipiformdesign
-
后端采用 .net core +EF core+ autofac + quartz +IdentityServer4 + nunit + swagger
-
設(shè)計工具 PowerDesigner + Enterprise Architect
秀外
慧中
教科書級的分層思想,哪怕苛刻的你閱讀的是大神級精典大作(如:《企業(yè)應(yīng)用架構(gòu)模式》《重構(gòu)與模式》《ASP.NET設(shè)計模式》等),你也可以參考本項目。不信?有圖為證,Resharper自動生成的項目引用關(guān)系,毫無PS痕跡!
權(quán)限資源
符合國情的RBAC(基于角色的訪問控制),可以直接應(yīng)用到你的系統(tǒng)。具體說明請查看:通用權(quán)限設(shè)計與實現(xiàn)
- 菜單權(quán)限 經(jīng)理和業(yè)務(wù)員登陸系統(tǒng)擁有的功能菜單是不一樣的
- 按鈕權(quán)限 經(jīng)理能夠?qū)徟?,而業(yè)務(wù)員不可以
- 數(shù)據(jù)權(quán)限 A業(yè)務(wù)員看不到B業(yè)務(wù)員的單據(jù)
- 字段權(quán)限 某些人查詢客戶信息時看不到客戶的手機號或其它字段
用戶應(yīng)用系統(tǒng)的具體操作者,我這里設(shè)計用戶是可以直接給用戶分配菜單/按鈕,也可以通過角色分配權(quán)限。
角色為了對許多擁有相似權(quán)限的用戶進行分類管理,定義了角色的概念,以上所有的權(quán)限資源都可以分配給角色,角色和用戶N:N的關(guān)系。
機構(gòu)樹形的公司部門結(jié)構(gòu),國內(nèi)公司用的比較多,它實際上就是一個用戶組,機構(gòu)和用戶設(shè)計成N:N的關(guān)系,也就是說有時候一個用戶可以從屬于兩個部門,這種情況在我們客戶需求中的確都出現(xiàn)過。
系統(tǒng)工程結(jié)構(gòu):
- Infrastructure 通用工具集合
- OpenAuth.Repository 系統(tǒng)倉儲層,用于數(shù)據(jù)庫操作
- OpenAuth.App 應(yīng)用層,為界面提供接口
- OpenAuth.Mvc Web站點
- OpenAuth.WebApi 為企業(yè)版或其他三方系統(tǒng)提供接口服務(wù)
- OpenAuth.Identity 基于IdentityServer4的單點登錄服務(wù)
