使用 OpenAuth.Net 快速搭建(jian) .NET 企業級(ji)權(quan)限工作流系統(tong)
前言
在企業(ye)應(ying)用開發中(zhong),系統權限(xian)管(guan)理和(he)工(gong)作(zuo)(zuo)流(liu)是(shi)比較常見(jian)的(de)功能。雖說開發起來難度不大,但從零開始開發一(yi)(yi)個功能完(wan)備的(de)權限(xian)管(guan)理和(he)工(gong)作(zuo)(zuo)流(liu)系統,往往需(xu)要投入大量(liang)的(de)時(shi)間(jian)和(he)精力(li)。今天大姚帶領大家來使(shi)用 OpenAuth.Net 快速搭建一(yi)(yi)套 .NET 企業(ye)級權限(xian)工(gong)作(zuo)(zuo)流(liu)系統,希望可以幫(bang)助(zhu)到有需(xu)要的(de)小伙(huo)伴。
OpenAuth.Net 介(jie)紹
OpenAuth.Net 是一個基于 .NET 開源免費(Apache-2.0 License)的權限管理及快速開發框架,.NET 開源最好用的權限工作流系統。它源于 Martin Fowler 的企業級應用開發思想,并結合了最新的技術組合,如 SqlSugar、EF、Quartz、AutoFac、WebAPI、Swagger、Mock、NUnit、Vue2/3、Element-ui/plus、IdentityServer 等。該項目架構易于擴展,文檔齊全且免費,特別適合中小企業使用。
- 項目官網地址:
- 詳細使用文檔:
- 項目開源地址:

項(xiang)目架構圖

項目特點
- 多租戶支持: 支持多租(zu)戶,輕松(song)管理多個客戶的數據。
- 規范的代碼風格: 代碼規(gui)范易讀,注釋清(qing)晰,方便(bian)維護。采用主流的技(ji)術(shu),不(bu)做任何多余的封(feng)裝。
- 簡潔易用的代碼生成: 內置極易上(shang)手的代(dai)碼(ma)(ma)生成(cheng)器,支(zhi)持單(dan)表、父子(zi)表等場(chang)景的代(dai)碼(ma)(ma)生成(cheng),大大提升編碼(ma)(ma)效率。
- 動態表單設計: 支持拖拽組件(jian),快(kuai)速構建表單(dan)(dan),無(wu)需編寫代碼(ma),即(ji)可(ke)實現表單(dan)(dan)設計。
- 可視化流程設計: 通(tong)過(guo)可視化流(liu)程設(she)計器,快速構建流(liu)程,無需編寫(xie)代(dai)碼(ma),即可實現流(liu)程設(she)計。
- 基于Quartz的定時任務: 無需開發人員參與即(ji)可配置(zhi)(zhi)定時(shi)(shi)任(ren)務。可隨時(shi)(shi)啟/停,可視化配置(zhi)(zhi) Cron表達(da)式功(gong)能。
- 支持多種數據庫類型: 項目同時支持(chi) EF、SqlSugar 兩款(kuan)最(zui)流行的(de) ORM 框架,支持(chi) SQL Server、MySQL、Oracle、PostgreSQL 等(deng)多種數據庫。
- 等等等......
源代碼下載(zai)
git clone //gitee.com/dotnetchina/OpenAuth.Net

??OpenAuth.Net
┣ ??.cursor //cursor rules、MCP配置
┣ ??newdocs //文檔
┣ ??Infrastructure //基礎工具類
┣ ??OpenAuth.Repository //數據庫訪問相關代碼
┣ ??OpenAuth.App //應用邏輯代碼
┣ ??OpenAuth.Identity //IdentityServer4服務器,提供OAuth服務
┣ ??OpenAuth.WebApi //WebApi接口站點
┣ ??Vue2 //開源Vue2前端項目
┣ ??數據庫腳本 //數據庫腳本
┣ ??.gitattributes
┣ ??.gitignore
┣ ??LICENSE
┣ ??.cursorignore //cursor codebase index忽略文件
┣ ??Dockerfile //docker文件
┣ ??OpenAuth.Net.sln //解決方案
┗ ??README.md
后端源代碼

前(qian)端(duan)源代碼(ma)

數據庫腳本

前后(hou)端項目調用關系

后端(duan)項目(mu)環(huan)境安裝
OpenAuth.Net 當前的目標框架是:.NET 9,所以在(zai)項目運行之前我(wo)們需(xu)要檢(jian)查一下當前電腦是否安裝了(le) .NET 9 SDK。
- .NET 9 SDK安裝:
dotnet --list-sdks

初始(shi)化數(shu)據(ju)庫腳本
這里(li)我們(men)采用 MySQL 數(shu)據(ju)(ju)庫(ku)作(zuo)為系統(tong)的數(shu)據(ju)(ju)存儲數(shu)據(ju)(ju)庫(ku),首(shou)先我們(men)需(xu)要初始化系統(tong)的 MySQL 腳本。
新建(jian)數據庫(ku)
新建一個名為:openauthdb 的(de)數據庫:

初始(shi)化數據庫數據


后端 WebApi 項目運行
后端項目(mu)數據庫設置(zhi)

運行后端 OpenAuth.WebApi
設置OpenAuth.WebApi為啟動(dong)項目運行:



前端項目(mu)環(huan)境安(an)裝
Vue 的開發依賴于 Node.js 環境,因此我們需要安裝 Node.js(建議安裝最新版本的 Node.js)。
- Node.js 下載地址:

環境檢查:
node --version

前(qian)端(duan)項目啟動(dong)
在 Vs Code 中打開(kai)項目
在 Vs Code 打開 OpenAuth.Net\Vue2 前(qian)端(duan)項目文件(jian)夾(jia),如下圖:

前端項目結構:

安裝(zhuang)項(xiang)目所(suo)有依賴
使用以下命令安裝項(xiang)目所有依賴(第一次(ci)執行的時間有點長(chang),需要慢慢等待):
npm install


前(qian)端(duan)項目運(yun)行
使用下面命令運行(xing)前(qian)端(duan)項目:
npm run dev

項目運行效果展示
運行 OpenAuth.Net 項(xiang)目(mu)我們(men)可以發現(xian)其實(shi)它(ta)已經涵蓋(gai)了大多數通用(yong)(yong)的權限管理和工作流系(xi)統的功(gong)能(neng)模塊,假如你想要(yao)了解更多的項(xiang)目(mu)實(shi)用(yong)(yong)功(gong)能(neng)和特性(xing)歡(huan)迎前(qian)往官網地址(zhi)查看??,別忘了給項(xiang)目(mu)一(yi)個(ge)Star支持??。
- 項目官網地址:
- 項目開源地址:
App running at:
- Local: //localhost:1803/
- Network: //192.168.1.5:1803/


















作(zuo)者(zhe)名稱:追逐時光者
作(zuo)者(zhe)簡介:一個熱愛編程(cheng)、善(shan)于分享(xiang)、喜(xi)歡(huan)學習、探索、嘗試新(xin)事物和新(xin)技術的(de)全棧軟件(jian)工(gong)程(cheng)師。
本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文鏈接,否則保留追究法律責任的權利。如果該篇文章對您有幫助的話,可以點一下右下角的【♥推薦♥】,希望能夠持(chi)續的為大家帶來好(hao)的技術文(wen)章,文(wen)中(zhong)可能存在描述不正(zheng)確的地方(fang),歡迎指(zhi)正(zheng)或補充,不勝感激。
