使用 OpenAuth.Net 快速搭建 .NET 企业级权限工作流系统
前言
在企业应用开发中,系统权限管理和工作流是比较常见的功能。虽说开发起来难度不大,但从零开始开发一个功能完备的权限管理和工作流系统,往往需要投入大量的时间和精力。今天大姚带领大家来使用 OpenAuth.Net 快速搭建一套 .NET 企业级权限工作流系统,希望可以帮助到有需要的小伙伴。
OpenAuth.Net 介绍
OpenAuth.Net 是一个基于 .NET 开源免费(Apache-2.0 License)的权限管理及快速开发框架,.NET 开源最好用的权限工作流系统。它源于 Martin Fowler 的企业级应用开发思想,并结合了最新的技术组合,如 SqlSugar、EF、Quartz、AutoFac、WebAPI、Swagger、Mock、NUnit、Vue2/3、Element-ui/plus、IdentityServer 等。该项目架构易于扩展,文档齐全且免费,特别适合中小企业使用。
- 项目官网地址:http://www.openauth.net.cn
- 详细使用文档:http://doc.openauth.net.cn
- 项目开源地址:https://gitee.com/dotnetchina/OpenAuth.Net

项目架构图

项目特点
- 多租户支持: 支持多租户,轻松管理多个客户的数据。
- 规范的代码风格: 代码规范易读,注释清晰,方便维护。采用主流的技术,不做任何多余的封装。
- 简洁易用的代码生成: 内置极易上手的代码生成器,支持单表、父子表等场景的代码生成,大大提升编码效率。
- 动态表单设计: 支持拖拽组件,快速构建表单,无需编写代码,即可实现表单设计。
- 可视化流程设计: 通过可视化流程设计器,快速构建流程,无需编写代码,即可实现流程设计。
- 基于Quartz的定时任务: 无需开发人员参与即可配置定时任务。可随时启/停,可视化配置 Cron表达式功能。
- 支持多种数据库类型: 项目同时支持 EF、SqlSugar 两款最流行的 ORM 框架,支持 SQL Server、MySQL、Oracle、PostgreSQL 等多种数据库。
- 等等等......
源代码下载
git clone https://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
后端源代码

前端源代码

数据库脚本

前后端项目调用关系

后端项目环境安装
OpenAuth.Net 当前的目标框架是:.NET 9,所以在项目运行之前我们需要检查一下当前电脑是否安装了 .NET 9 SDK。
dotnet --list-sdks

初始化数据库脚本
这里我们采用 MySQL 数据库作为系统的数据存储数据库,首先我们需要初始化系统的 MySQL 脚本。
新建数据库
新建一个名为:openauthdb 的数据库:

初始化数据库数据


后端 WebApi 项目运行
后端项目数据库设置

运行后端 OpenAuth.WebApi
设置OpenAuth.WebApi为启动项目运行:



前端项目环境安装
Vue 的开发依赖于 Node.js 环境,因此我们需要安装 Node.js(建议安装最新版本的 Node.js)。
- Node.js 下载地址:https://nodejs.cn/download/current

环境检查:
node --version

前端项目启动
在 Vs Code 中打开项目
在 Vs Code 打开 OpenAuth.Net\Vue2 前端项目文件夹,如下图:

前端项目结构:

安装项目所有依赖
使用以下命令安装项目所有依赖(第一次执行的时间有点长,需要慢慢等待):
npm install


前端项目运行
使用下面命令运行前端项目:
npm run dev

项目运行效果展示
运行 OpenAuth.Net 项目我们可以发现其实它已经涵盖了大多数通用的权限管理和工作流系统的功能模块,假如你想要了解更多的项目实用功能和特性欢迎前往官网地址查看,别忘了给项目一个Star支持。
App running at:
- Local: http://localhost:1803/
- Network: http://192.168.1.5:1803/


















使用 OpenAuth.Net 快速搭建 .NET 企业级权限工作流系统的更多相关文章
- Angularjs,WebAPI 搭建一个简易权限管理系统 —— 系统业务与实现(三)
目录 前言 Angularjs名词与概念 Angularjs 基本功能演示 系统业务与实现 WebAPI项目主体结构 Angularjs 前端主体结构 系统业务与实现(二) 上一章我们讲解的 Angu ...
- 【gin-vue-admin】 使用go和vue 快速搭建一个项目模板
gin-vue-admin gin+vue开源快速项目模板 项目地址:https://github.com/piexlmax/gin-vue-admin 增加了 micro-service-test分 ...
- 【Harbor学习笔记】-教你快速搭建Docker私有仓库
目录 架构图 Harbor依赖的外部组件 Harbor自有组件 核心组件 安装 1. 下载离线安装包 2. 配置 harbor.cfg (harbor.yml) 3. 启动 Harbor 安装配置问题 ...
- 实用干货!Java开发企业级权限管理系统视频教程
全程手把手带你运用Java技术栈,打造一套基于最流行的RBAC拓展模型的,分布式的,有界面的,高灵活性,高拓展性的企业级权限管理系统.学完本课程你将可以轻松应对绝大多数企业开发中与权限管理及后台系统相 ...
- 快速搭建企业subversion
快速搭建企业subversion 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我们公司用的版本控制控制系统就是subversion(简称SVN),不得不说这是一款比较好使的管理工 ...
- [原创] zabbix学习之旅五:如何快速搭建一个报警系统
通过之前的文章,我们已搭建好zabbix server.agent和mail客户端,现在万事俱备,只差在server的界面中进行相应配置,即可快速搭建一个报警系统.总的来说,快速搭建一个报警系统的顺序 ...
- Angularjs,WebAPI 搭建一个简易权限管理系统
Angularjs,WebAPI 搭建一个简易权限管理系统 Angularjs名词与概念(一) 1. 目录 前言 Angularjs名词与概念 权限系统原型 权限系统业务 数据库设计和实现 Web ...
- Linux下快速搭建php开发环境
php开发环境快速搭建 一.Linux下快速搭建php开发环境 1.安装XAMPP for Linux XAMPP(Apache+MySQL+PHP+PERL)是一个功能强大的建站集成软件包,使用XA ...
- 快速搭建应用服务日志收集系统(Filebeat + ElasticSearch + kibana)
快速搭建应用服务日志收集系统(Filebeat + ElasticSearch + kibana) 概要说明 需求场景,系统环境是CentOS,多个应用部署在多台服务器上,平时查看应用日志及排查问题十 ...
- LVS+keepalived快速搭建测试环境
#LVS+keepalived快速搭建测试环境 #LVS+keepalived快速搭建测试环境 #centos6 X64 # LVS 负载均衡模式:DR(直接路由) 192.168.18.31 mas ...
随机推荐
- 一文速通Python并行计算:06 Python多线程编程-基于队列进行通信
一文速通 Python 并行计算:06 Python 多线程编程-基于队列进行通信 摘要: 队列是一种线性数据结构,支持先进先出(FIFO)操作,常用于解耦生产者和消费者.慢速生产-快速消费场景中,队 ...
- 🎀maven 版本管理
简介 Maven的versions插件提供了一系列用于处理项目版本的命令 相关命令 mvn versions:set 版本设置 mvn versions:set -DnewVersion=1.0.0- ...
- QT 的信号-槽机制
对于对象间的通信问题,很多框架采用回调函数类解决.QT 使用信号-槽解决对象间的通信问题,只要继承 QObject 类就可以使用信号-槽机制.信号-槽使用起来非常简单.灵活,发射和接收对象实现了解耦. ...
- 开发 MCP Proxy(代理)也可以用 Solon AI MCP 哟!
MCP 有三种通讯方式: 通道 说明 备注 stdio 本地进程内通讯 现有 sse http 远程 http 通讯 现有 streamable http 远程 http 通讯 (MCP 官方刚通过决 ...
- Spring基于注解的CRUD
目录 Spring基于注解的CRUD 代码实现 测试 方式一:使用Junit方式测试 方式二:使用@RunWith(SpringJUnit4ClassRunner.class)注解测试 Spring基 ...
- P6375 「StOI-1」小Z的旅行 题解
题意:P6375 「StOI-1」小 Z 的旅行 给定一座山,每座山有一个高度,只能向更低的山走或者向高度相同的山走,要求不能向高度相同的山连续走两次,不能原地不动. 每次走的权值都是两座山之间的坐标 ...
- C#之System.Text.Json的用法
System.Text.Json 是 C# 中的一个 JSON 序列化和反序列化库,它在 .NET Core 3.0 及更高版本中提供了内置支持.以下是 System.Text.Json 的用法详解: ...
- WPF之X名称空间详解
XAM简介: XAML是一种专门用于绘制UI的语言,借助它就可以把UI定义与运行逻辑分离开来.XAML使用标签来定义UI元素,每个标签对应.NET Framework类库中的一个控件类.通过设置标签的 ...
- frp增加IP限制
核心设计理念 传统frp安全方案的不足 静态配置文件管理白名单IP,修改需要重启服务 分布式环境下多节点配置同步困难 缺乏实时阻断恶意IP的能力 Redis作为动态白名单存储的优势 实时生效:IP规则 ...
- LocalSend 编译全过程深度讲解,解决手机与电脑互传文件痛点
localsend编译 LocalSend 是一款开源.跨平台的 本地网络文件传输工具,旨在通过局域网实现设备间快速.安全的文件共享,无需依赖互联网或第三方服务器.它支持 Windows.macOS. ...