Skip to content

Erupt Upms 权限管理

erupt-upms 是 Erupt 的用户权限管理系统(User Permission Management System):用户、角色、菜单、组织、岗位、字典、Open API、在线用户与三类日志,全部由 @Erupt 注解生成,不需要额外写一行界面代码。

它解决的是每个后台都绕不开、又最不该重复造的那部分:谁能登录、登录后能看到哪些菜单、在菜单里能按哪些按钮、看到哪些数据,以及事后如何追溯。

引入方式

erupt-upms 已包含在 erupt-admin 中,无需单独引入:

xml
<dependency>
  <groupId>xyz.erupt</groupId>
  <artifactId>erupt-admin</artifactId>
  <version>${erupt.version}</version>
</dependency>

启动后使用默认账号登录(可通过 erupt.upms.default-account / default-password 修改,见参数配置):

账号密码
erupterupt

权限模型

  • 菜单是权限的最小单位:一个 Erupt 类对应一个菜单,其新增 / 修改 / 删除 / 导出等按钮会自动生成为子菜单,勾选即授权。
  • 角色是菜单的集合,用户可拥有多个角色,权限取并集。
  • 组织与岗位不参与菜单授权,而是用来划定数据可见范围:业务实体继承 LookerOrg / LookerPostLevel / LookerSelf 后,非管理员只能看到本组织、本组织下级岗位或自己创建的数据。
  • 超级管理员(用户上的「管理员」开关)跳过所有菜单与数据过滤。

功能导航

初始化后「系统管理」目录下的菜单,与本模块各页面一一对应:

页面解决的问题
菜单管理系统里有哪些页面、按钮与接口,分别用什么方式打开
角色管理把菜单打包成岗位职责,并防止操作者越权分配
组织与岗位组织树与岗位层级,以及基于它们的数据可见范围
用户管理账号生命周期:密码策略、锁定、有效期、IP 白名单、重置密码
字典管理把散落在代码里的枚举变成可在线维护的 key-value
Open API给外部系统发放 APPID + Secret,以某个用户的权限调用接口
在线用户谁正在线、从哪登录,一键强制下线
登录日志与操作日志谁在何时何地做了什么、改前数据是什么、耗时多少、是否报错
系统日志不登服务器,在浏览器里实时看应用日志

相关扩展点

权限系统的代码级扩展分散在「进阶」章节,这里列出入口:

需求文档
自定义登录逻辑(对接 LDAP / SSO / 短信验证码)登录与认证 LoginProxy
替换登录页自定义登录页
自己写的接口要求登录或菜单权限REST API 接口权限
按组织 / 岗位 / 创建人过滤数据PreDataProxy 与 Looker
字典作为下拉选项单选 CHOICE → 字典选项
水印、验证码次数、Session 时长等参数配置

贡献者

The avatar of contributor named as YuePeng YuePeng
The avatar of contributor named as Claude Opus 5 (1M context) Claude Opus 5 (1M context)

页面历史

Released under the Apache-2.0 License.