- 基于.NET 5实现的通用权限管理平台(RBAC模式)。整合最新技术高效快速开发,前后端分离模式,开箱即用。
- 后台基于Furion框架,前端基于小诺Antd Vue框架。集EFCore、多租户、分库读写分离、缓存、数据校验、鉴权、动态API、gRPC等众多黑科技于一身。
- 模块化架构设计,层次清晰,业务层推荐写到单独模块,框架升级不影响业务!
- 核心模块包括:用户、角色、职位、组织机构、菜单、字典、日志、多应用管理、文件管理、定时任务等功能。
- 代码量少、上手简单、功能强大、易扩展,轻松开发从现在开始!
如果对您有帮助,点击右上角⭐Star⭐关注 ,感谢支持开源!
包类型 | 名称 | 版本 | 描述 |
---|---|---|---|
Furion.Extras.Admin.NET | Admin.NET 核心包 |
可自行按照 Furion 框架脚手架初始化工程,然后引用此包即可,其他层配置见源代码。🔊此包会紧跟Furion版本更新而更新。
模板类型 | 名称 | 版本 | 描述 |
---|---|---|---|
Furion.Admin.NET.Template.App | Admin.NET 框架模板 |
打开 CMD 或 Powershell 执行dotnet命令
1、安装脚手架
dotnet new --install Furion.Admin.NET.Template.App
2、更新脚手架
dotnet new --install Furion.Admin.NET.Template.App
3、使用脚手架(生成之后推荐将所有的 nuget 包更新到最新版本)
dotnet new Admin.NET -n 你的项目名称
其实安装之后可以直接在VS里面进行可视化及创建工程
- 按照 Furion 框架脚手架或者本框架脚手架初始化工程。
- 创建自己业务的 Dll 插件库工程,引用 Furion.Extras.Admin.NET 包,编写自己的业务代码包括实体、服务等。
- 在 XXX.Web.Entry 层里面的 appsettings.json 配置此插件 Dll 的路径。配置文档说明
- 此时框架和自己业务实体可以同时做数据迁移,耦合度最低。也可以自行将数据库分系统库、业务库等。
- 将自己业务前端代码包括view和api文件复制到前端工程相应目录即可。
仓库内 plugin 文件内为本框架模块/插件开发事例,供参考。
欢迎大家勇于参与开源,贡献自己的应用插件,你我都可以做到,.NET正在迅速崛起,我们都是历史的见证人💪
【核酸采集系统】
【工作流】
【Admin.NET】隆重推出SqlSugar版本
- 👉 SqlSugar版本:https://gitee.com/zhengguojing/admin-net-sqlsugar
如果集成其他ORM,请参照各自操作使用说明。系统默认EFCore不会处理其他ORM实体等,请自行处理。
框架目前采用基于共享数据库TenantId的方式实现,后期可无缝迁移转换到基于多库或者Schema模式。
- 平台超管对租户进行增删改查操作,对各租户进行权限(菜单)的分配,租户管理员密码默认123456
- 租户管理员根据平台分配的权限再对本租户内用户进一步权限划分
- 针对新开发的业务功能,平台超管可以针对性分配给各租户(比如某租户购买后才有此功能菜单等)
更新日志 点击查看
感谢安徽合肥的网友🎉微信号Protear🎉提供的云服务器
- 体验地址:http://39.107.123.76:82/
- 开发者租户:用户名:superAdmin,密码:123456
- 公司1租户: 公司1租户管理员(用户名:[email protected] 密码:123456),公司1租户普通用户(用户名:[email protected] 密码:123456)
需要安装:VS2019(最新版)、npm或yarn(最新版)
- 启动后台:打开backend/Admin.NET.sln解决方案,直接运行(F5)即可启动(数据库默认SQLite)
- 启动前端:VSCode或HBuilder,打开frontend文件夹,进行依赖下载,运行npm install或yarn命令,再运行npm run serve或 yarn run serve
- 浏览器访问:
http://localhost:81
(默认前端端口为:81,后台端口为:5566)
├─Admin.NET.Application ->业务应用层,在此写您具体业务代码是🌻🌻🌻
├─Admin.NET.Core ->框架核心层,后期准备做成NuGet包直接引用即可
├─Admin.NET.Database.Migrations ->架构维护层,主要存放迁移中间文件
├─Admin.NET.EntityFramework.Core ->EF Core配置层,主要配置数据库及相关
├─Admin.NET.Web.Core ->Web核心层,主要是服务注册及鉴权
├─Admin.NET.Web.Entry ->Web入口层/启动层,可任意更换
注:建议自己的业务代码直接写在【Admin.NET.Application】层里面,包括实体与服务等,或者单独新建个业务应用工程,进行模块化开发。
😛其他层尽量不要管,可随框架升级而无缝升级。
👉后台文档:
- Furion后台框架文档 https://dotnetchina.gitee.io/furion/docs/source
👉前端文档:
- Ant Design Pro of Vue 使用文档 https://pro.antdv.com/docs/getting-started
- Ant Design of Vue 组件文档 https://www.antdv.com/docs/vue/getting-started-cn/
- Vue 开发文档 https://cn.vuejs.org/v2/guide/
👉快捷部署到 linux 文档:
👉代码生成器使用教程:
👉fork项目后该这样做后续开发:
👉关于signalr使用:
😎通读以上文档,您就可以玩转本项目了(其实您已经是高手了)。项目使用上的问题,文档中基本都可以找到答案。
- 主控面板、控制台页面,可进行工作台,分析页,统计等功能的展示。
- 用户管理、对企业用户和系统管理员用户的维护,可绑定用户职务,机构,角色,数据权限等。
- 应用管理、通过应用来控制不同维度的菜单展示。
- 机构管理、公司组织架构维护,支持多层级结构的树形结构。
- 职位管理、用户职务管理,职务可作为用户的一个标签,职务目前没有和权限等其他功能挂钩。
- 菜单管理、菜单目录,菜单,和按钮的维护是权限控制的基本单位。
- 角色管理、角色绑定菜单后,可限制相关角色的人员登录系统的功能范围。角色也可以绑定数据授权范围。
- 字典管理、系统内各种枚举类型的维护。
- 访问日志、用户的登录和退出日志的查看和管理。
- 操作日志、用户的操作业务的日志的查看和管理。
- 服务监控、服务器的运行状态,CPU、内存、网络等信息数据的查看。
- 在线用户、当前系统在线用户的查看。
- 公告管理、系统的公告的管理。
- 文件管理、文件的上传下载查看等操作,文件可使用本地存储,阿里云oss,腾讯cos接入,支持拓展。
- 定时任务、定时任务的维护,通过cron表达式控制任务的执行频率。
- 系统配置、系统运行的参数的维护,参数的配置与系统运行机制息息相关。
- 邮件发送、发送邮件功能。
- 短信发送、短信发送功能,可使用阿里云sms,腾讯云sms,支持拓展。
本框架ORM默认采用EF Core开发,加上拓展比如SqlSugar,理论上兼容并支持所有类型数据库。😜
【MySQL】
- Admin.NET.EntityFramework.Core 项目安装
Pomelo.EntityFrameworkCore.MySql,Nuget 需安装 5.0 版本 (支持 MySql 5.x +) MySql.EntityFrameworkCore:支持 (MySql 8.x +)
- DefaultDbContext.cs 指定 DbProvider ,
[AppDbContext("DefaultConnection", DbProvider.MySql)]
- dbsettings.json 配置 "DefaultConnection":
"Data Source=localhost;Database=Admin.NET;User ID=root;Password=000000;pooling=true;port=3306;sslmode=none;CharSet=utf8;"
- 打开程序包管理器控制台,默认项目Admin.NET.Database.Migrations 执行命令:
Add-Migration Init和update-database
【SQLServer】
- Admin.NET.EntityFramework.Core 项目安装
Microsoft.EntityFrameworkCore.SqlServer
- DefaultDbContext.cs 指定 DbProvider ,
[AppDbContext("DefaultConnection", DbProvider.SqlServer)]
- dbsettings.json 配置 "DefaultConnection":
"Server=localhost;Database=Admin.NET;User=sa;Password=000000;MultipleActiveResultSets=True;"
- 打开程序包管理器控制台,默认项目Admin.NET.Database.Migrations 执行命令:
Add-Migration Init 和 update-database
提示:其他类型数据库依次类推,首先添加EF的Core版包,然后指定数据库类型,修改数据库连接字符串,执行EF迁移命令即可。
【数据库初始化操作】 GIT完成后默认为SqlLite数据库,使用其他数据库可通过基于EF Core的CodeFirst初始化,添加好拓展包,创建好空数据库,设置好数据库信息和后,即可通过此操作可进行数据库初始化操作。
- 启动项目设置为 XXXX.Web.Entry
- 程序包管理控制台默认项目设置为 XXXX.Database.Migrations
- 依次输入并回车执行
Add-Migration v1.0.0 -Context DefaultDbContext
update-database v1.0.0 -Context DefaultDbContext
Add-Migration v1.0.0 -Context MultiTenantDbContext
update-database v1.0.0 -Context MultiTenantDbContext
至此完成初始数据部署。后期添加/修改自己业务的数据类后通过更新版本号来更新数据库即可。
Add-Migration v1.0.1 -Context DefaultDbContext
update-database v1.0.1 -Context DefaultDbContext
Add-Migration v1.0.1 -Context MultiTenantDbContext
update-database v1.0.1 -Context MultiTenantDbContext
【EF批量操作】
使用 Zack.EFCore.Batch https://hub.fastgit.org/yangzhongke/Zack.EFCore.Batch 安装对应包即可
- MSSQL:Zack.EFCore.Batch.MSSQL
- MySql:Zack.EFCore.Batch.MySQL.Pomelo
- Npgsql:Zack.EFCore.Batch.Npgsql
- Oracle:Zack.EFCore.Batch.Oracle
- Sqlite:Zack.EFCore.Batch.Sqlite
提示:记得修改Admin.NET.EntityFramework.Core层里面Startup注册服务类型 opt.UseBatchEF_Sqlite(), 改成相应得库类型。
- 集成多租户功能
- 集成代码生成器
- 集成导入导出
- 在线用户及黑名单
- 邮件发送
- 短信发送
- 集成微信开发
- 实现电商应用插件
- 集成工作流
- 基于.NET 5平台 Furion 开发框架与小诺Antd Vue版本相结合,实时跟随基架升级而升级!
- 持续集百家所长,完善与丰富本框架基础设施,为.NET生态增加一种选择!
- 后期会推出基于此框架的相关应用场景案例,提供给大家使用!
- 有问题讨论的小伙伴可加群一起学习讨论。 QQ群1【87333204】 QQ群2【252381476】
Admin.NET
遵循 Apache-2.0
开源协议,欢迎大家提交 PR
或 Issue
。
感谢每一位贡献代码的朋友。感谢 TLog 作者 提供的贡献者实时头像。
- 👉 Furion: https://dotnetchina.gitee.io/furion
- 👉 xiaonuo:https://gitee.com/xiaonuobase/snowy
- 👉 k-form-design:https://gitee.com/kcz66/k-form-design
- 👉 MiniExcel:https://gitee.com/dotnetchina/MiniExcel
- 👉 SqlSugar:https://gitee.com/dotnetchina/SqlSugar
如果对您有帮助,您可以点右上角 💘Star💘支持一下,这样我们才有持续下去的动力,谢谢!!!