跳到主要内容

Nebula Auth 业务功能

1. 功能概览

从当前代码与 README 可以确认,nebula-auth 对业务系统提供的能力主要包括六类:

  • 登录与会话管理
  • 当前用户上下文聚合
  • 用户、角色、权限管理
  • 组织、菜单、按钮资源管理
  • 在线用户治理
  • OAuth2 与微信登录能力

这些能力围绕“统一身份认证 + 统一权限中心 + 统一资源授权入口”展开,而不是孤立的几条登录接口。


2. 登录与会话管理

2.1 用户注册

适用场景:

  • 后台平台开放账号注册
  • 管理员预置之外允许业务用户自行开通账号

业务价值:

  • 减少完全依赖人工建号的成本
  • 让登录体系具备自助开通入口

2.2 用户登录

适用场景:

  • 用户名密码登录
  • 微信小程序登录
  • 微信网站登录
  • 后续扩展 QQ / 支付宝 OAuth2 登录

业务价值:

  • 统一收口不同身份来源的登录入口
  • 最终都落到同一套本地用户、角色与权限体系里

2.3 刷新令牌

适用场景:

  • access token 快过期时续期
  • 前端长时间在线保持登录态

业务价值:

  • 既控制 access token 生命周期,又能维持较好的用户体验

2.4 用户登出

适用场景:

  • 当前用户主动退出登录
  • 后台主动让某个会话失效

业务价值:

  • 不只是前端删除 token,而是真正清理服务端会话缓存

3. 当前用户上下文聚合

3.1 获取当前登录用户

当前接口:

GET /api/auth/current-user

它返回的不只是基础用户资料,还包括:

  • 组织编码列表
  • 角色编码列表
  • 权限编码列表
  • 菜单列表

业务价值:

  • 前端可以直接用它初始化当前用户状态
  • 不需要再分别调用多个接口组装权限上下文
  • 菜单和权限数据可以直接驱动前端路由和按钮控制

4. 用户、角色、权限管理

4.1 用户管理

适用场景:

  • 创建后台账号
  • 调整用户状态
  • 维护用户资料
  • 分页查询用户列表

4.2 角色管理

适用场景:

  • 维护角色编码与角色名称
  • 给后台权限体系建立标准角色集合
  • 在授权时把角色作为权限聚合容器

4.3 权限管理

适用场景:

  • 给用户、角色或组织分配资源权限
  • 管理菜单和按钮的授权关系

业务价值:

  • 把“谁能访问什么资源”统一沉淀为标准数据模型
  • 支持用户、角色、组织三类授权主体

5. 组织、菜单、按钮资源管理

5.1 组织管理

适用场景:

  • 维护组织树
  • 维护公司 / 部门 / 团队结构
  • 给组织本身做资源授权

5.2 菜单管理

适用场景:

  • 维护后台左侧菜单
  • 维护路由路径、组件路径、图标等前端元数据
  • 构建菜单树

5.3 按钮管理

适用场景:

  • 维护页面内动作点,如新增、编辑、删除、导出
  • 把动作级权限从页面路由权限中拆分出来单独治理

业务价值:

  • 菜单控制“能不能看到页面入口”
  • 按钮控制“能不能执行某个动作”
  • 组织、菜单、按钮一起构成后台权限中心的资源面

6. 在线用户治理

6.1 分页查看在线用户

适用场景:

  • 后台查看当前在线会话
  • 排查异常登录或多端登录情况

6.2 强制踢出在线用户

适用场景:

  • 发现异常会话后立即失效
  • 密码修改后清理旧会话
  • 安全审计和运维治理

业务价值:

  • auth 模块不只是签发 token,还具备可视化会话治理能力

7. OAuth2 与微信登录能力

7.1 微信小程序登录

适用场景:

  • 小程序端快速登录
  • 用微信身份落到 Nebula 本地用户体系

7.2 微信网站登录

当前支持两种模式:

  • redirect
  • qr

适用场景:

  • PC 端扫码登录
  • 浏览器跳转式微信授权登录

7.3 OAuth2 客户端与账号绑定管理

适用场景:

  • 管理第三方登录提供商接入配置
  • 管理第三方账号与本地用户的绑定关系

业务价值:

  • 把外部身份统一映射到平台本地用户、角色和权限模型中

8. 典型业务场景

8.1 管理后台统一登录入口

例如:

  • 账号密码登录
  • 登录后加载当前用户、菜单和权限
  • 页面按权限控制菜单和按钮显隐

8.2 多主体资源授权

例如:

  • 直接给某个用户授权
  • 给角色授权,再把角色分配给用户
  • 给组织授权,让组织下成员继承资源范围

8.3 微信扫码登录后台

例如:

  • PC 端展示二维码
  • 用户微信扫码后完成登录
  • 前端轮询状态直到拿到 token

8.4 安全治理与运维

例如:

  • 运营后台查看当前在线用户
  • 管理员强制踢出异常会话
  • 调整登录失败锁定策略