# one-permission **Repository Path**: caoxingxing/one-permission ## Basic Information - **Project Name**: one-permission - **Description**: No description available - **Primary Language**: Java - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 60 - **Forks**: 4 - **Created**: 2025-12-27 - **Last Updated**: 2026-01-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # one-permission 权限管理系统
[![GitHub stars](https://img.shields.io/github/stars/kiduo09/one-permission.svg?style=social&label=Star)](https://github.com/kiduo09/one-permission) [![Gitee stars](https://gitee.com/caoxingxing/one-permission/badge/star.svg?theme=white)](https://gitee.com/caoxingxing/one-permission) [![GitHub forks](https://img.shields.io/github/forks/kiduo09/one-permission.svg?style=social&label=Fork)](https://github.com/kiduo09/one-permission/fork) [![GitHub watchers](https://img.shields.io/github/watchers/kiduo09/one-permission.svg?style=social&label=Watch)](https://github.com/kiduo09/one-permission)
## 📖 项目简介 **one-permission** 是一套面向中小企业和个人开发者的统一权限管理系统,用于集中管理多个业务系统的账号、角色、菜单和权限。 系统采用前后端分离架构,提供可视化的后台管理界面,帮助你快速搭建「登录用户 + 应用 + 菜单 + 角色 + 授权」的完整权限闭环。 ## 📦 适用场景 - 企业内部有多套业务系统,需要统一做权限管理 - 个人开发者希望快速搭建一套「账号 + 菜单 + 角色 + 权限 + 授权」的完整体系 - 希望统一出口向外部系统暴露权限查询接口 - 希望通过一个通用后台来管理「应用、菜单、角色、用户、部门」等权限元素 ## 🎯 能做什么? - **统一账号管理**:集中管理管理员账号、普通业务用户账号 - **统一应用管理**:支持接入多个业务系统,为不同系统独立管理菜单和角色 - **统一菜单管理**:以树形结构配置应用菜单,支持目录 / 菜单 / 按钮多种类型 - **统一角色管理**:为应用配置业务角色,并绑定菜单权限 - **统一授权管理**: - 按用户授权:为指定用户分配角色 - 按部门授权:为整个部门批量分配角色 - **统一外部查询**:为外部系统提供接口,根据「应用 + 工号」查询在该应用下可访问的菜单权限 - **可视化统计**:在 Dashboard 中查看应用数量、管理员数量、在线用户数等统计信息 ## 🧩 核心功能模块 ### 1. Dashboard 分析页 - 展示系统中应用数量、管理员数量、在线用户数等核心指标 - 根据管理员类型(系统管理员 / 普通管理员)自动做数据权限过滤 ### 2. 管理员管理 - 管理「登录后台的管理员账号」 - 支持: - 管理员列表查询、分页 - 创建 / 编辑 / 删除管理员 - 设置管理员类型(系统管理员 / 普通管理员) - 为管理员分配可访问的应用 ### 3. 应用管理 - 管理接入到 one-permission 的业务系统(应用) - 支持: - 应用列表管理(名称、Key、备注、状态等) - 为应用配置菜单、角色 - 为应用分配普通用户的访问权限 #### 3.1 普通用户管理 - 展示业务侧普通用户(如员工、客户等) - 仅支持「查询和查看详情」,不支持新增 / 删除 - 普通用户数据以水浒传人物作为示例初始化数据 #### 3.2 应用菜单管理 - 为某个应用配置菜单树 - 菜单支持三种类型: - 目录:仅用于分组 - 菜单:具体页面 - 按钮:页面上的操作粒度权限 - 可配置: - 上级菜单、菜单名称、图标、显示排序 - 路由地址、组件路径 - 是否外链、内嵌 URL - 显示状态、启用状态 #### 3.3 应用角色管理 - 为应用创建业务角色(如「HR管理员」「审批人」「只读用户」等) - 支持: - 角色列表管理(系统ID、所属应用、角色名称、排序、状态等) - 为角色绑定菜单权限(选择菜单树,自动处理父子级勾选与半选) - 为角色分配用户 / 部门 #### 3.4 角色用户与部门分配 - **按用户分配**: - 从可选用户列表中,将用户加入某个应用角色 - 已分配用户不会再次出现在可选列表中 - 支持批量取消授权 - **按部门分配**: - 从部门树中选择部门,将整个部门的用户加入角色 - 已分配的部门在列表中展示,可单个或批量取消授权 ### 4. 系统管理(系统管理员专属) - **系统角色管理**:管理系统级角色,用于控制后台菜单访问 - **系统菜单管理**:管理系统本身的后台菜单结构(如「Dashboard」「管理员管理」「应用管理」「系统管理」等) ### 5. 外部接口能力 系统支持为外部应用暴露统一的权限查询能力(示例能力,包括但不限于): - 外部系统通过 `clientId + clientSecret` 获取访问令牌 - 拿到令牌后,可根据「应用ID + 工号」查询该用户在该应用下的菜单权限 - 使用 Sa-Token 区分「后台管理员登录」和「外部消费者登录」,互不干扰 > 外部接口的详细参数、示例和调用流程,请参考后端项目中的专用文档。 ## 👤 管理员类型与可见范围 - **系统管理员** - 可以看到所有菜单模块(Dashboard、管理员管理、应用管理、系统管理) - 可以管理所有应用、所有管理员、所有权限数据 - Dashboard 统计不做数据权限过滤 - **普通管理员** - 只显示「应用管理」相关菜单 - 只能管理自己被授权的应用及其菜单、角色、用户 - Dashboard 和列表数据都会按授权应用做数据过滤 ## 🎮 在线体验 - **体验地址**:`http://onepermission.zhangyuxingqiu.com/` - **体验账号**:`admin / 123456` - **身份类型**:系统管理员 > 该体验环境部署在个人服务器上,仅供学习与功能体验使用,请轻点操作,避免造成不必要的压力 🙏 ## 📚 更多说明 - 前端实现、技术栈、启动方式等,请查看:`permission-front/README.md` - 后端实现、数据库设计、接口说明等,请查看:`permission-backend/README.md` ## 👥 贡献与交流 - **项目作者**:章鱼 - **GitHub 项目地址**:`https://github.com/kiduo09/one-permission` - **Gitee 项目地址**:`https://gitee.com/caoxingxing/one-permission` - **问题反馈**:欢迎在 GitHub Issue 或 Gitee Issue 中提交 Bug 或需求 - **QQ 交流群**:`1034408170` - **微信公众号**:攻城狮小章鱼(可在项目中查看二维码) 欢迎 Star、Fork 本项目,一起完善这套权限管理系统 🎉 ![img.png](file/img.png) ![img_1.png](file/img_1.png) ![img_2.png](file/img_2.png) ![img_3.png](file/img_3.png) ![img_4.png](file/img_4.png) ![img_5.png](file/img_5.png) ![img_6.png](file/img_6.png)