开源、有文档、能上线的 .NET + Vue 通用权限系统
前言
在日常项目开发中,权限管理几乎是每个系统都绕不开的基础模块。从用户登录、菜单控制到数据隔离,一套稳定、灵活、可扩展的权限体系,往往决定了整个项目的成败。然而,从零开始搭建这样的平台,不仅耗时耗力,还容易在细节上踩坑。
本文推荐一个轻量级但功能完整的 .NET 快速开发框架,采用前后端分离架构,开箱即用,帮大家快速开发通用权限管理系统。
项目介绍
一套基于.NET 和 Vue.js 的全栈权限管理平台。后端采用分层架构设计,前端基于 vue-cli 4.0 脚手架生成,整体结构清晰、职责分明。项目不追求大而全,而是聚焦于”能用、好用、可维护”,特别适合中小型项目或需要快速交付的内部系统。不管是新团队启动项目,还是老系统重构,都能提供一个坚实且灵活的起点。
项目功能
-
用户、角色、部门、岗位、组织五层权限模型,支持复杂的企业架构;
-
系统功能菜单与按钮级权限配置,实现细粒度访问控制;
-
数据字典、编码规则、行政区域等基础数据管理;
-
定时任务可视化配置,基于 Quartz 实现后台调度;
-
系统日志与调度监测,记录操作行为并以图表形式展示接口调用趋势;
-
代码生成器,根据数据库表自动生成实体、仓储和基础 CRUD 接口;
-
报表支持(Grid++Report6)和 Excel 导入导出(Magicodes),满足业务报表需求;
-
应用接入管理,支持多租户或多系统集成场景。
项目框架

项目说明
分层架构
├─ RayD.Core // 框架核心层├─ RayD.Repository // 数据仓储层├─ RayD.App // 业务应用层(实现具体业务逻辑)├─ RayD.App.Extra // 应用扩展层(Excel导入导出、定时作业等扩展功能)├─ RayD.App.Setup // 应用配置层(为 Startup.cs 提供配置方法)├─ RayD.IMServer // 即时通讯服务└─ RayD.WebApi // 表现层(Web API 入口启动程序)
核心技术栈
-
Autofac:轻量级 IoC 容器,替代 .NET Core 内置 DI 容器
-
AOP:通过切面实现日志记录、缓存等横切关注点
-
JWT:基于 JWT 的授权认证,支持单点登录与滑动刷新令牌
-
Swagger UI:自动生成并可视化后端 API 接口文档
-
MiniProfiler:对接口性能进行实时可视化分析
-
CORS:提供简洁的跨域资源共享解决方案
-
Quartz.NET:实现定时任务调度
-
Magicodes.IE:支持 Excel 文件的高效导入导出
-
EF Core + Dapper 混合模式:兼顾开发效率与 SQL 灵活性,支持 SQL Server、Oracle、MySQL 等多数据库
-
Grid++Report6:客户端模式报表引擎,用于复杂打印与报表场景
前端项目结构
├─ public/│ └─ Report/ // Grid++Report6 报表文件存放目录└─ src/ ├─ api/ // 接口集中管理与封装 ├─ assets/ // 静态资源(图片、字体等) ├─ components/ // 公共组件 ├─ directive/ // 自定义 Vue 指令 ├─ pages/ // 公共页面组件(如登录页、布局页) ├─ plugins/ // 第三方插件配置 ├─ router/ // 路由配置 ├─ store/ // Vuex 状态管理 ├─ styles/ // 全局样式与主题变量 ├─ util/ // 工具函数封装(日期处理、请求拦截等) └─ views/ // 业务视图页面
核心前端依赖
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
项目使用
环境要求
-
.NET Core SDK
-
Node.js(含 npm)
启动后端服务
1、执行数据库脚本 db/rayd_dev.sql 初始化数据库;
2、使用 Visual Studio 2019 或更高版本打开 back-end/RayD.sln;
3、将 RayD.WebApi 设为启动项目;
4、修改 appsettings.json 中的数据库连接字符串;
5、按 F5 运行项目,默认监听端口:9080。
启动前端服务
1、使用 VS Code 或其他编辑器打开 front-end 目录;
2、在终端执行
npm install
3、安装完成后运行
npm run serve
4、前端默认启动端口:8090,浏览器访问 http://localhost:8090 即可进入系统。
项目代码
Quartz 定时作业
public Task StartAsync(CancellationToken cancellationToken){//启动定时job,可以在这里配置读取数据库需要启动的任务,然后启动他们var jobList = _jobService .GetList(null) .Where(c => c.B_EnabledMark == EnabledMark.Enabled && c.B_JobTerminal == AppSettings.JobOption.SubjectTerminal );foreach (var job in jobList) {var jobBuilderType = typeof(JobBuilder);var method = jobBuilderType.GetMethods().FirstOrDefault( x => x.Name.Equals("Create", StringComparison.OrdinalIgnoreCase) && x.IsGenericMethod && x.GetParameters().Length == 0) ?.MakeGenericMethod(Type.GetType(job.B_JobCall));var jobBuilder = (JobBuilder)method.Invoke(null, null); IJobDetail jobDetail = jobBuilder.WithIdentity(job.B_Id).Build(); jobDetail.JobDataMap[Define.JOBMAPKEY] = job.B_Id; //传递job信息 ITrigger trigger = TriggerBuilder.Create() .WithCronSchedule(job.B_Cron) .WithIdentity(job.B_Id) .StartNow() .Build(); _scheduler.ScheduleJob(jobDetail, trigger); } _scheduler.Start();return Task.CompletedTask;}public Task StopAsync(CancellationToken cancellationToken){ _scheduler.Shutdown(); _logger.LogInformation("关闭定时job");return Task.CompletedTask;}
项目接口文档

项目效果
用户登录后,菜单和按钮根据权限动态加载;操作日志实时记录;定时任务可启停、可监控;代码生成器几分钟内即可产出单表增删改查页面。尤其适合政府、教育、制造等对权限模型有明确层级要求的行业。
系统登录

系统首页


敏捷开发

系统管理

组织架构


定时任务

组件示例

系统日志

项目源码
项目完全开源,结构规范,注释完整。所有核心功能均有对应代码说明,学习和二次开发门槛极低。
Gitee:https://gitee.com/ld13750018815/rayd
总结
一个经过实战打磨的开发脚手架。它把权限管理中最繁琐、最易错的部分封装好,让大家能把精力集中在真正的业务逻辑上。对于需要快速交付、又不想牺牲代码质量的团队来说,它是一个非常实用的选择。如果大家正在找一个”开源、有文档、能上线”的 .NET + Vue 权限平台,可以试试这个项目。
关键词
RayD.Net、.NET、#Vue、#权限管理、#前后端分离、#开源项目、#JWT、#EF Core、#代码生成器、#多数据库、#后台管理系统、#低代码平台
作者:小码编匠

谁说 WinForm 不能高颜值?看这个 Ant Design 无边框收银系统
WinForm + SQL Server 开发企业物资管理系统(库存、出入库、审批全搞定)
基于 WinForm、Halcon、OpenCV的多功能图像处理与机器视觉框架
WPF + Halcon + YOLO 工业视觉检测的全能上位机
零依赖!WinForm 车牌识别系统开发全流程(算法实现+模块拆解)
WPF/WinForm 也能用 ECharts?快来试试这个开源项目
WinForm 也能玩转工业物联网?这个轻量级 SCADA 数据采集网关做到了
WPF+OpenCvSharp搭个可视化调试神器,别再写 Console 测试 OpenCV 了!
C# 工业级串口数据实时解析工具:策略模式 + 多线程 + 帧同步实战
WPF + OpenCvSharp 搭个 OpenCV 脚手架,所见即所得玩转图像处理
WinForm + AntdUI 实现物料编码自动填充,彻底告别手工 BOM
无需联网!基于 .NET + YOLO 的桌面端图像与视频目标检测实战
.NET 9 智能门锁管理系统:远程开锁与临时密码(酒店/民宿)
Avalonia 工业级实战:从 PLC 通信到 Web HMI 的完整方案
一个值得收藏的 WinForms 界面框架:流式菜单 + 分割容器 + 多标签页
C# 做动态数据看板?这个 WinForms 多图表方案值得参考
C# 面向自动化产线上位机开源项目(支持报警、日志与多语言)
真正能落地的 .NET 8/9/10 企业平台:集成权限、流程引擎与实时通信
觉得有收获?不妨分享让更多人受益
关注「DotNet技术匠」,共同提升技术实力




夜雨聆风