前言

在日常工作中,几乎每家公司都需要一个后台管理系统来处理各种任务。为了帮助大家快速搭建这样一个系统,给大家介绍一个基于最新技术 .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. Qt 之 emit、signals、slot的使用

    背景 ref : https://www.ibm.com/developerworks/cn/linux/guitoolkit/qt/signal-slot/index.html 信号和槽机制是 QT ...

  2. uboot 修改代码 增加 环境变量

    --- title: uboot修改代码增加环境变量 date: 2019-12-27 21:26:39 categories: tags: - uboot --- 以"tftp下载kern ...

  3. 两个防火墙的IPsec

    首先要保证双面都能通信到对面! 拓扑图: P1 没有要求默认就行 P2 没有要求默认就行 对流体 对流体细节问题 预共享密钥要一致 IPsec 创建隧道 添加路由 Ping对方激活ipsec Ping ...

  4. 如何解决jenkins插件下载过慢的问题

    1.修改/var/lib/jenkins/updates目录下的default.json文件 通过sed命令将插件的下载地址替换成国内的地址: sed -i 's#http:\/\/updates.j ...

  5. AT_joisc2019_j 题解

    先考虑这个式子: \[\sum_{j=1}^{M} |C_{k_{j}} - C_{k_{j+1}}| \] 一定是在 \(C\) 有序时取到,具体证明很简单各位读者自己证明. 那么现在式子变成: \ ...

  6. 全网最适合入门的面向对象编程教程:08 类和对象的Python实现-@property装饰器:把方法包装成属性

    全网最适合入门的面向对象编程教程:08 类和对象的 Python 实现-@property 装饰器:把方法包装成属性 摘要: 本文主要对@property 装饰器的基本定义.使用场景和使用方法进行了介 ...

  7. 2024-07-13:用go语言,给定一个从0开始的长度为n的整数数组nums和一个从0开始的长度为m的整数数组pattern,其中pattern数组仅包含整数-1、0和1。 一个子数组nums[i.

    2024-07-13:用go语言,给定一个从0开始的长度为n的整数数组nums和一个从0开始的长度为m的整数数组pattern,其中pattern数组仅包含整数-1.0和1. 一个子数组nums[i. ...

  8. 用这开源小书学 Docker,香!

    > 最新.全面.通俗.可多端阅读的 Docker 教程小书.>> 编程导航开源仓库:https://github.com/liyupi/code-navDocker 可以说是一个改变 ...

  9. [oeasy]python0003_ 终端大冒险_终端命令_whoami_pwd_ls

    终端大冒险_终端命令_ls_pwd_whoami 回忆 上次 了解基本环境 简称 含义 CLI 命令行界面 GUI 图形用户界面 在 CLI 中 通过终端 连接 远程服务器的 壳(shell) 控制 ...

  10. [oeasy]python00134_[趣味拓展]python起源_历史_Guido人生_ABC编程语言_Tanenbaum

    python 历史 回忆上次内容 颜文字是kaomoji 把字符变成一种图画的方法 一层叠一层 很多好玩儿的kaomoji是一层层堆叠起来的meme   ​   添加图片注释,不超过 140 字(可选 ...