项目介绍原创
# 项目介绍
# 概要
提示
Snapper权限系统经过多年的积累,"久经沙场",可以通过界面方式解决几乎所有权限问题
Snapper权限系统是一套完善的权限管理系统,专业解决复杂系统权限问题,不依赖于业务,方便集成,拥有独立的界面,开箱即用。
通过 用户 + 用户组 + 职位 + 委托 等多种维度,端控制 + 单一用户登录 + 授权码 等多种模式,只通过界面配置即可实现资源权限、业务数据权限、功能数据权限、列数据权限的权限控制
Snapper权限系统分为单机版 和 微服务版,都依赖于核心项目snapper-dependence (opens new window)
# 功能列表
- 用户管理 管理系统用户,激活、启用、停用、重置密码、设置标签等功能
- 角色管理 管理系统的资源权限,分配用户,资源授权等功能
- 用户组 管理多个用户为一组,集中进行角色分配及数据权限分配
- 组织架构 管理系统组织架构,分配人员,职位,角色等功能
- 职位管理 管理组织中的职位,分配职位对应的角色和数据权限等功能
- 授权管理 从用户和用户组维度,对功能进行功能数据权限、业务数据权限、列数据权限的分配
- 菜单管理 管理系统中的菜单资源和按钮资源,对每个功能进行业务动作关联
- 数据列 管理业务表中数据列,业务数据权限分配时按照指定列分配
- 字典管理 管理系统中字典数据,比如用户业务标记,用来与数据权限关联
- 参数管理 管理系统中的关键参数,比如网站LOGO等
- 业务日志 管理系统中的日志,包含操作人、操作模块、请求信息、异常信息、浏览器信息等
- 接入用户 管理第三方接入系统的用户,设置IP段、生效时间段、分配APPID、APPKEY等
- 接入日志 管理第三方接入系统的日志,包含请求IP、来源系统、浏览器、请求信息、错误信息等
- 租户管理 管理平台下的租户,对租户进行整体功能的分配、授权、计费等功能
- 租户日志 管理租户的日志,包含操作人、操作模块、请求信息、异常信息、浏览器信息等
- 租户接口 对租户开通相关接口,用于通过租户方式进行第三方对接后,对第三方进行整体授权
- 限流管理 针对IP、账号、授权协议等维度的流量限制,控制总流量及单位流量功能等
详细参考如下:
提示
功能使用章节将以此为参考进行介绍
# 项目计划
Snapper系统在接下来计划完成如下功能:
- 完善生态 包括文档 及 社区生态
- 规则管理器 为权限系统提供真正的灵活配置,动态更新权限,达到配置实时生效的目的,为此创建了规则管理器
- 完善租户相关功能 系统已支持多租户功能, 当前只有租户初始化管理员,通过管理员方式接入,缺少租户端的用户创建及权限细粒度控制等功能
- Spring Boot 3.x 集成 当前版本基于Spring Boot 2.x,计划升级到Spring Boot 3.x
- 多数据库支持 目前权限系统仅支持MySQL数据库,计划支持其他主流数据库
- 权限模块进一步分离, 当前的权限模块耦合性依然太强, 依赖太多,对于项目集成不太友好, 需要拆分优化,使之集成更简单
# 项目体系
提示
前端基于React,后端基于Spring Boot
- snapper-boot (opens new window) 权限系统微服务版微服务版
- snapper-standalone (opens new window) 权限系统单机版
- snapper-dependence (opens new window) 权限系统依赖包
- snam (opens new window) 是权限功能的UI端,开箱即用
# 依赖体系
# 业务架构
注意
以下架构基于微服务版本,此处只展示部分核心的组件及方法!