diff --git a/README.md b/README.md index dcece18b1d6d195e22ccfc57ea15efa17fc50db6..d94c6141e0123b80bc449344babd4081d2326362 100644 --- a/README.md +++ b/README.md @@ -1,73 +1,79 @@ -# 💖权限+可视化流程管理系统(OverallAuth2.0版本) -OverallAuth2.0 是一个简单、易懂、功能强大的权限+可视化流程管理系统 它使用.net core8+vue3前后端分离模式搭建。 -# 🎁开箱即用 -码友可以放心大胆的使用😄,本项目的前后端,都是作者从0到1完全独立搭建。 +# OverallAuth2.0 Web API - **如果你不想花时间写一套权限系统,那么就下载使用吧💘💖** +## 项目简介 -说明:数据库文件在qq群:801913255,因为更新频繁,就不放在这里了 +OverallAuth2.0 Web API 是一个基于 **.NET Core 8** 构建的后端服务接口,是 [OverallAuth2.0](http://139.155.137.144:8881/) 权限与可视化流程管理系统的核心组成部分。项目采用前后端分离模式,提供了完整的认证(Authentication)与授权(Authorization)解决方案,支持细粒度的数据权限控制。 -# ⏳OverallAuth2.0 (持续开发中) -预览地址:http://139.155.137.144:8881/ +本项目结构清晰,逻辑解耦,封装了丰富的业务逻辑 CORE 层,方便二次开发与维护。 -前端下载地址:https://gitee.com/yangguangchenjie/overall-auth2.0-vue +## 核心功能模块 -后端下载地址:https://gitee.com/yangguangchenjie/overall-auth2.0-web-api +### 🚧 权限体系 (已实现) +* **菜单权限**: 基于角色的树形菜单控制,动态生成用户可访问的菜单树。 +* **按钮权限**: 精确到页面按钮级别的显示控制。 +* **数据权限**: + * **数据规则**: 支持自定义配置规则公式(匹配公式),用于动态过滤数据。 + * **行级权限**: 控制用户可见的数据范围(如:只能看自己部门的数据)。 + * **列级权限**: 控制列表中某些敏感字段的显示与隐藏。 +### 🛠 系统架构 +* **多租户/多系统**: 支持无限级创建公司(Corporation)与系统(System)架构。 +* **通用仓储**: 封装了通用的数据库操作逻辑,支持快速切换数据库类型。 +* **AOP 切面**: 集成了异常日志捕获、事务管理等功能。 -# ⛪OverallAuth1.0 (完成) -前端下载地址:https://gitee.com/yangguangchenjie/overall-auth.-open.-web-api +## 技术栈 -后端下载地址:https://gitee.com/yangguangchenjie/overall-auth.-open.-vue +* **运行环境**: .NET Core 8 +* **认证授权**: JWT (JSON Web Token) +* **依赖注入**: Autofac +* **接口文档**: Swagger (Swashbuckle) +* **日志监控**: 自动化异常日志记录 +* **数据库**: 通用 SQL 仓储模式 (默认支持 MySQL/SQLServer,需在配置中指定) -文档(预览)地址:http://139.155.137.144:9012 +## 项目结构说明 -# 🚧核心权限 -## 🏢菜单权限(已实现) -菜单权限是建立在【角色】的基础上。 -如图↓ -![输入图片说明](OverallAuth-WebApi/Properties/%E5%BC%A0%E4%B8%89%E7%9A%84%E8%A7%92%E8%89%B2.png) +* `CoreDomain`: **核心业务层**。包含复杂的业务算法(如数据权限公式解析 `DataAuthCore`、菜单树构建 `MenuCore`)。 +* `DomainService`: **服务业务层**。实现具体的业务逻辑接口(如用户服务、角色服务、权限服务)。 +* `Infrastructure`: **基础设施层**。 + * `Repository`: 仓储模式实现,负责数据持久化。 + * `BaseSqlRepository`: 包含大量预编译的 SQL 语句,构建灵活的数据查询。 +* `Model`: **数据模型层**。 + * `DomainModel`: 数据库实体类 (`SysUser`, `SysRole` 等)。 + * `BusinessModel`: 业务输入输出模型 (`Input`, `OutPut`)。 +* `OverallAuth-WebApi`: **表现层**。 + * `Controllers`: API 控制器。 + * `PlugIn`: 插件化配置(JWT、跨域、依赖注入、拦截器)。 +* `Utility`: **工具类库**。提供 JSON 序列化、枚举处理、异常帮助等辅助功能。 -那么我们可以通过设置【超级管理员】这个角色来控制张三的菜单模块权限↓ +## 快速开始 -![输入图片说明](OverallAuth-WebApi/Properties/%E8%8F%9C%E5%8D%95%E6%9D%83%E9%99%90%E5%88%86%E9%85%8D.gif) +1. **环境准备**: + * 安装 [.NET Core 8 SDK](https://dotnet.microsoft.com/download) + * 确保数据库服务已启动(MySQL 或 SQLServer) -## 🚥按钮权限(已实现) +2. **数据库配置**: + * 打开 `OverallAuth-WebApi/appsettings.json` 文件。 + * 修改 `ConnectionStrings` 中的连接字符串,指向您的数据库实例。 + * **注意**: 数据库脚本(建库脚本)因更新频繁,托管在 QQ 群 **801913255**,请自行下载并导入。 -和菜单权限一样,按钮权限是建立在【角色】的基础上。 +3. **运行项目**: + * 使用 Visual Studio 或 VS Code 打开 `OverallAuth-WebApi.sln`。 + * 按 `F5` 启动项目。 + * 访问 `http://localhost:5000/swagger` 查看完整的 API 接口文档。 -说明:这里的按钮,不包括数据中的操作按钮↓ -![输入图片说明](OverallAuth-WebApi/Properties/%E6%8C%89%E9%92%AE%E6%9D%83%E9%99%90.png) +## 相关资源 -那么我们可以通过设置【超级管理员】这个角色来控制张三的按钮权限↓ -![输入图片说明](OverallAuth-WebApi/Properties/%E6%8C%89%E9%92%AE%E6%9D%83%E9%99%90%E5%88%86%E9%85%8D.gif) +* **前端源码 (Vue 3)**: [https://gitee.com/yangguangchenjie/overall-auth2.0-vue](https://gitee.com/yangguangchenjie/overall-auth2.0-vue) +* **OverallAuth 1.0 (稳定版)**: [https://gitee.com/yangguangchenjie/overall-auth.-open.-web-api](https://gitee.com/yangguangchenjie/overall-auth.-open.-web-api) +* **演示地址**: [http://139.155.137.144:8881/](http://139.155.137.144:8881/) -## 🌈数据按钮权限(已实现) -可以通过设置数据规则,并通过分析规则来识别数据是否满足规则条件,从而划分数据是否拥有权限。 +## 交流与支持 -如下图↓ -![输入图片说明](OverallAuth-WebApi/Properties/%E6%95%B0%E6%8D%AE%E6%8C%89%E9%92%AE%E8%A7%84%E5%88%99.png) +* **作者博客**: 关注公众号获取最新技术文章(扫码见原文底部)。 +* **开源不易**: 如果这个项目对您有帮助,请点击 GitHub/Gitee 页面右上角的 **Star** 以示支持! -## 🌴数据行权限(已实现) +--- -如下图↓ -![输入图片说明](OverallAuth-WebApi/Properties/%E6%95%B0%E6%8D%AE%E8%A1%8C%E6%9D%83%E9%99%90.png) - -## 🎨数据列权限(已实现) - -如下图↓ -![输入图片说明](OverallAuth-WebApi/Properties/%E6%95%B0%E6%8D%AE%E5%88%97%E6%9D%83%E9%99%90.png) - -# 📝可视化表单(开发中...版本1已实现) - -# 🔀可视流程设计(开发中...版本1已实现) - -# 公众号 -关注我:每周更新该系列博客文章(从0到1搭建系统) -![输入图片说明](OverallAuth-WebApi/Properties/%E6%89%AB%E7%A0%81_%E6%90%9C%E7%B4%A2%E8%81%94%E5%90%88%E4%BC%A0%E6%92%AD%E6%A0%B7%E5%BC%8F-%E6%A0%87%E5%87%86%E8%89%B2%E7%89%88.png) -关注我:一个全栈多端的宝藏博主,定时分享技术文章,不定时分享开源项目。关注我,带你认识不一样的程序世界 - -# 🙏🙏🙏求star -开源不易,star支持 \ No newline at end of file +*文档生成时间: 2024年* \ No newline at end of file