前言

在日常工作中,几乎每家公司都需要一个后台管理系统来处理各种任务。为了帮助大家快速搭建这样一个系统,给大家介绍一个基于最新技术 .NET 8 和前端框架 Vue 3 实现的极简 RABC(基于角色的访问控制)权限管理系统。

该系统后端采用经过精心精简的 ABP框架,前端则使用了 vue-pure-admin 模板和强大的 vxe-table表格框架,为二次开发提供最简洁、最高效的解决方案。

这个系统不仅易于理解和使用,而且它的模块化设计能够快速地进行定制和扩展,满足不同业务场景的需求。

系统适合有快速搭建后台管理系统的需求,项目从0到1,源码持续更新!特适合、刚开始接触 .NET 8+ Vue 3 项目的初学者。

项目介绍

基于.NET 8 + Vue  3+ ABP + SqlSugar + MySQL 实现的高性能的、极简的、前后端分离的、RABC 权限后台管理系统。主要包括用户管理、角色管理、组织机构管理、字典管理、配置管理、日志管理、文件管理、工作流管理等15 种核心功能。

PurestAdmin 是一款前后端分离的基于 "RBAC"(基于角色的访问控制)权限管理的后台管理系统。目标为大、中、小型项目提供一个快速二次开发的模板,本项目不做任何业务型的功能,尽量做到下载即用,方便广大的开发者进行快速业务开发,无需再为搭建项目框架而烦恼。

本项目突破了传统的 RBAC 构思,不再依赖后端配置前端的菜单路径,真正实现了前后端分离。此外,我们重新设计了 token 的刷新机制,实现了单 token 无感知刷新,提升了用户体验。

项目结构

1、 后端接口(Api)

  • 使用 .NET 8 开发,在 ABP 框架的基础上进行了精简和改良,只保留了核心功能,并重写了部分 ABP 的功能。
  • 采用了 SqlSugar 替代传统的 EF Core,提高了效率并使使用更加便捷。

2、Vue 客户端(client-vue )

  • 采用了高质量前端项目 vue-pure-admin 的精简版 pure-admin-thin
  • 额外集成了功能强大的 vxe-table 及其内置的其他组件,提升了用户体验和开发效率。

3、WPF 客户端(client-wpf )

  • 使用 MVVM 模式的框架 Prism,该框架在 WPF 用户中非常受欢迎。
  • 引入了 Rubyer-WPF 主题和控件包,增强了界面的友好度。
  • 对 HTTP 请求进行了封装,使用了 restful 格式的 Flurl,让网络请求更加便捷。

4、 关系模型(relationship-model)

  • 包含数据库关系模型图,基于 PowerDesigner 设计的 PDM 图形。
  • 提供了对应的表结构初始化 SQL 语句。

5、项目效果图(screenshot )

  • 展示了项目的实际运行效果和界面设计。

设计思路

1、服务端

  • 关注点分离:服务端不再关心前端的具体实现细节,而是专注于功能实现和接口开放。
  • 权限控制:通过“功能管理”模块,控制用户调用接口的权限,确保只有授权用户才能访问相应的功能。

2、客户端

  • 动态路由:客户端无需与服务端约定具体的路由信息,而是根据服务端返回的功能编码动态生成路由。

项目说明

1、完成功能

  • 登陆登录以及权限验证
  • 系统管理(组织架构、用户、角色、权限、功能、字典、配置等)
  • 工作流程(表单设计、流程设计、待办事项等)
  • WPF 版本仅完成了框架的构造以及登录等基本功能(由于prism也收费啦,所以后续不再进行开发了),如果您有兴趣,请联系我。
  • 工作流部分只提供了比较简单的入门级示例。请根据需求自行二开。

2、后续内容

  • 数据库替换为 Sqlite
  • MAUI 客户端

演示地址

访问地址 http://www.purestadmin.com

应用服务器在国外,数据库服务器在国内,可能查询数据会有略微延迟。并非项目本身的问题。

1、登录页面

2、系统首页

3、系统管理

4、工作流程

项目地址

Github:https://github.com/dymproject/purest-adminGitee:https://gitee.com/dymproject/purest-admin

文档地址:http://docs.purestadmin.com

提供本项目的结构说明以及再次开发中需要的注意事项,记录常见问题以及相关处理方式。

最后

如果你觉得这篇文章对你有帮助,不妨点个赞支持一下!你的支持是我继续分享知识的动力。如果有任何疑问或需要进一步的帮助,欢迎随时留言。

也可以加入微信公众号[DotNet技术匠] 社区,与其他热爱技术的同行一起交流心得,共同成长!

.NET 8 + Vue 3 极简 RABC 权限管理系统的更多相关文章

  1. [ABP开源项目]--vue+vuex+vue-router+EF的权限管理系统

    好久没写文字了,当然大家也不期待嘛,反正看代码就行了. 演示网站 首先说下这个项目吧. 如标题一样是基于VUE+.NET开发的框架,也是群友一直吼吼吼要一个vue版本的ABP框架. 我们先来看看首页吧 ...

  2. Resty 一款极简的restful轻量级的web框架

    https://github.com/Dreampie/Resty Resty 一款极简的restful轻量级的web框架 开发文档 如果你还不是很了解restful,或者认为restful只是一种规 ...

  3. .NET Core实战项目之CMS 第七章 设计篇-用户权限极简设计全过程

    写在前面 这篇我们对用户权限进行极简设计并保留其扩展性.首先很感谢大家的阅读,前面六章我带着大家快速入门了ASP.NET Core.ASP.NET Core的启动过程源码解析及配置文件的加载过程源码解 ...

  4. 【转】手摸手,带你用vue撸后台 系列四(vueAdmin 一个极简的后台基础模板)

    前言 做这个 vueAdmin-template 的主要原因是: vue-element-admin 这个项目的初衷是一个vue的管理后台集成方案,把平时用到的一些组件或者经验分享给大家,同时它也在不 ...

  5. 极简Vue的异步组件函数

    export default new Router({ routes: [ { path: '/live', name: 'live', component: () => import('@/v ...

  6. Vue.js 入门:从零开始做一个极简 To-Do 应用

    Vue.js 入门:从零开始做一个极简 To-Do 应用 写作时间:2019-12-10版本信息:Vue.js 2.6.10官网文档:https://cn.vuejs.org/ 前言  学习 Vue ...

  7. .NET开源项目 QuarkDoc 一款自带极简主义属性的文档管理系统

    有些话说在前头 因为公司产品业务重构且功能拆分组件化,往后会有很多的接口文档需要留存,所以急需一款文档管理系统.当时选型要求3点: 1.不能是云平台上的Saas服务,整个系统都要在自己公司部署维护(数 ...

  8. 在Web应用中接入微信支付的流程之极简清晰版

    在Web应用中接入微信支付的流程之极简清晰版 背景: 在Web应用中接入微信支付,我以为只是调用几个API稍作调试即可. 没想到微信的API和官方文档里隐坑无数,致我抱着怀疑人生的心情悲愤踩遍了丫们布 ...

  9. 在Web应用中接入微信支付的流程之极简清晰版 (转)

    在Web应用中接入微信支付的流程之极简清晰版 背景: 在Web应用中接入微信支付,我以为只是调用几个API稍作调试即可. 没想到微信的API和官方文档里隐坑无数,致我抱着怀疑人生的心情悲愤踩遍了丫们布 ...

  10. php 极简框架ES发布(代码总和不到 400 行)

    ES 框架简介 ES 是一款 极简,灵活, 高性能,扩建性强 的php 框架. 未开源之前在商业公司 经历数年,数个高并发网站 实践使用! 框架结构 整个框架核心四个文件,所有文件加起来放在一起总行数 ...

随机推荐

  1. .NET 个人博客-发送邮件优化🧐

    个人博客-发送邮件优化 前言 之前的发送邮件就弄了个方法,比如回复评论会给评论的人发送邮件,留言回复也是,而且2者的代码有很多一样的地方,比较冗余.然后也是抽空优化一下,思路也是比较常用的工厂+策略模 ...

  2. 【论文阅读】GRI: General Reinforced Imitation and its Application to Vision-Based Autonomous Driving

    Column: December 30, 2021 11:01 PM Last edited time: January 10, 2022 4:45 PM Sensor/组织: 3 RGB; 曾经短暂 ...

  3. 3568F-PCIe 5G通信测试手册

  4. Mac mysql 5.7.x 设置服务开机自启动

    在终端输入 sudo vi /Library/LaunchDaemons/com.mysql.mysql.plist 输入以下内容 <?xml version="1.0" e ...

  5. 深入解析 Vue Router:构建单页面应用的利器

    Vue.js 是一个渐进式 JavaScript 框架,常用于构建用户界面.随着应用的复杂度增加,路由(Routing)变得越来越重要,这就是 Vue Router 的用武之地.Vue Router ...

  6. TP3.2与TP5.0的区别

    1. 控制器输出return $this->fetch(); ----5$this->display(); ----3.2单字母函数去掉了 如:M() D() U() S() C() 3. ...

  7. [oeasy]python0021_宝剑镶宝石_爱之石中剑_批量替换_特殊字符_特殊颜色

    继续运行 回忆上次内容 上次 运行了 game.py 分析了 game.py 也大致读懂了 game.py       添加图片注释,不超过 140 字(可选)   这个 程序 可以进一步 进行修改吗 ...

  8. [oeasy]python0010_怎么用命令行保存文件

    编写 py 文件 回忆上次内容 上次 真的输出了 程序员的浪漫 Hello world!   print函数 可以输出 字符串 但是 print这个词 别拼错 就连 大小写 也别能错 错了就改 也没事 ...

  9. [rCore学习笔记 06]运行Lib-OS

    QEMU运行第一章代码 切换分支 git checkout ch1 detail git checkout ch1 命令是用来切换到名为 ch1 的分支或者恢复工作目录中的文件到 ch1 提交的状态 ...

  10. JavaScript 监听组合按键

    JavaScript监听组合按键   by:授客 QQ:1033553122 1.   思路 如图,通过监听并打印键盘keydown事件,得到图示内容,观察发现, 当按下的组合键包含Ctrl键时,ct ...