Skip to content

平台主要功能

1、 系统登录

1、功能概述

系统登录为用户提供了一个安全的身份验证入口,支持自定义登录页面风格,并在成功认证后提供访问令牌(Token)。该过程不仅保证了用户的合法性,还根据用户角色加载相应的信息与权限菜单,最终引导用户进入系统主页。

  • 认证机制:基于JWT Token的双Token模式(access_tokenrefresh_token),增强安全性。
  • 用户体验:集成定时Token刷新机制,减少因Token过期导致的操作中断。

2、登录流程概览

  1. 用户打开登录页面
  2. 输入用户名及密码
  3. 提交登录请求
  4. 获取access_tokenrefresh_token
  5. 将Token存储至全局上下文
  6. 请求并加载用户信息与菜单数据
  7. 跳转至系统主页
  8. 启动后台定时任务检查并自动刷新Token

3、登录页面功能说明

页面元素:

  • 用户名输入框:支持输入账号(如 admin
  • 密码输入框:支持输入密码(隐藏显示)
  • 登录按钮:触发登录请求
  • 风格设置:登录页面支持主题风格配置(如暗色/亮色模式、品牌色等,具体由前端实现控制)

⚠️ 当前版本暂未包含验证码、记住我、第三方登录等功能。

登录页:

image-20251020125450618

风格设置:

image-20251020125550574

4、登录接口详情

4.1 接口地址

POST http://127.0.0.1:8090/auth/token

4.2 请求参数(表单格式)

参数名类型必填说明
usernamestring用户名
passwordstring密码(明文传输,需启用 HTTPS)

📌 Content-Type: application/x-www-form-urlencoded

4.3 成功响应示例

json
{
    "code": 200,
    "msg": "登陆成功",
    "data": {
        "access_token": "eyJhbGciOiJSUzI1NiJ9.xxxxx",
        "refresh_token": "eyJhbGciOiJSUzI1NiJ9.yyyyy",
        "token_type": "Bearer",
        "expires_in": 7200,
        "jti": "f32fe763-d308-4b10-97a8-1fbb86cd97b9"
    },
    "timestamp": "2025-10-20T09:34:50",
    "host": "172.20.240.1",
    "success": true
}

4.4 响应字段说明

字段说明
access_token用于后续接口认证的访问令牌(JWT格式)
refresh_token用于刷新 access_token 的长期令牌
token_type固定为 Bearer,表示使用 Bearer 认证
expires_inaccess_token 有效时间(秒),当前为 7200 秒(2小时)
jtiJWT 唯一标识,用于防止重放攻击

5、前端 Token 管理机制

1 存储方式

登录成功后,前端需将以下两个 Token 存储在全局用户上下文对象中

  • access_token
  • refresh_token

✅ 使用 Pinia 状态管理工具进行统一管理。

2 请求携带 Token

所有需要认证的接口请求,必须在 HTTP Header 中添加:

这个 Header 名可设置,在jwt.yml 配置文件 jwt.token.token_name: Authorization

http
Authorization: Bearer {access_token}

例如:

http
GET /api/user/info
Authorization: Bearer eyJhbGciOiJSUzI1NiJ9.xxxxx

6、登录后初始化请求

登录成功并跳转至系统主页后,前端需立即发起以下两个请求,以获取当前用户完整信息与菜单权限。

6.1 获取当前用户信息

请求信息
  • URLhttp://127.0.0.1:8090/auth/account

  • MethodPOST

  • Headers

    http
    Authorization: Bearer {access_token}
成功响应示例
json
{
    "code": 200,
    "msg": "获得CurrentUser对象成功",
    "data": {
        "userInfo": {
            "id": "admin",
            "username": "admin",
            "realname": "系统管理员",
            "nickname": "Admin",
            "sex": 1,
            "email": "admin@company.com",
            "phone": "13800000000",
            "workNo": "001"
        },
        "authoritys": [ ... ],
        "authIds": [ "2615333294080", "admin" ],
        "settings": "{ \"showFooter\": true, \"isSidebarCompact\": false, ... }",
        "elements": [
            "user_view_button",
            "user_form_name",
            ...
        ]
    },
    "success": true
}
字段说明
字段说明
userInfo当前用户基本信息
authoritys用户所属角色/群组列表
authIds角色/群组 ID 列表,用于权限判断
settings用户个性化设置(JSON 字符串)
elements页面级元素权限标识列表(按钮、输入框等)

✅ 前端应将 settings 解析为对象,用于初始化界面布局、主题等配置。

6.2 获取用户菜单列表

  • URL: http://127.0.0.1:8090/auth/menu_list

  • 方法: GET

  • Headers:

    http
    Authorization: Bearer {access_token}

7、Token 刷新机制

为了防止因access_token过期而导致的操作中断,系统实现了自动刷新机制,在access_token即将到期时,自动使用refresh_token获取新的access_token

刷新逻辑:

  1. 计算access_token的有效期。
  2. 在有效期结束前10分钟自动触发刷新请求。
  3. 使用refresh_token获取新access_token并更新全局上下文。

为避免用户在使用系统过程中因 access_token 过期而被强制跳转至登录页,前端已实现 定时 Token 自动刷新机制

8、附录:接口清单

功能接口方法说明
用户登录/auth/tokenPOST获取 access_token 和 refresh_token
Token 刷新/auth/refresh_tokenPOST使用 refresh_token 获取新 access_token
获取当前用户/auth/accountPOST获取用户信息、权限、设置等
获取菜单列表/auth/menu_listGET获取当前用户可访问的菜单树

本说明书基于实际接口返回数据编写,包含已实现的定时 Token 刷新机制,可作为前后端联调、系统维护与用户培训的权威参考

2、 主界面介绍

以下是根据你的原始内容进行结构优化、语言精炼、逻辑增强和视觉层次提升后的版本。从 ### 三级标题开始,保持技术文档的专业性与可读性,同时突出功能价值与用户体验。


主界面概览

用户登录成功后,进入系统主界面。整体布局遵循 简洁、易用、美观 的设计原则,采用响应式架构,适配桌面、平板及移动设备,确保跨平台一致的用户体验。界面支持高度定制化,开发人员可根据业务需求灵活配置菜单结构、主题风格与交互逻辑,快速构建符合项目特性的管理后台。

主界面由四大核心模块构成:

  1. 顶部导航栏 位于页面顶端,集成全局功能入口,包括系统 Logo、主导航菜单、用户信息、通知中心、语言切换、全屏模式、个性化设置、修改密码、头像管理及系统注销等操作。
  2. 侧边菜单栏 固定于左侧,展示系统功能的层级结构,支持多级嵌套菜单,便于用户快速定位和跳转至目标功能模块。
  3. 内容区域 核心工作区,动态加载当前选中菜单对应的页面组件,承载具体业务功能与用户交互内容。
  4. 页签导航 系统提供 页签导航(Tab Navigation) 功能,用于提升多任务并行处理效率。用户在操作过程中,可将多个功能页面以标签页的形式同时打开,并在不同页签间快速切换,避免频繁跳转导致的操作中断,显著提升使用流畅度与工作效率。。
  5. 面包屑导航 通常位于内容区上方,清晰展示当前页面在菜单树中的层级路径,支持点击返回上级或同级页面,提升导航效率。

界面示意图

image-20251020131333354


个性化设置功能

系统提供丰富的个性化配置选项,用户可根据使用习惯自定义界面外观与布局,提升操作效率与视觉舒适度。

主题切换

系统支持 明亮黑暗 两种主题模式,并提供自定义配色能力,满足个人偏好或企业品牌视觉需求。

操作路径: 点击头像下拉菜单「风格设置」→ 打开配置面板。

功能说明

  • 主题模式 区域选择“明亮”、“黑暗”、“跟随系统”。
  • 主题颜色 区域可选择预设色系,或点击调色板图标可自定义主色调。
  • 配置实时生效,无需刷新页面。

明亮模式:主题应用效果黑色模式:主题切换


布局切换

系统提供三种导航布局模式,适配不同使用场景:

布局模式说明
顶部导航菜单集中于顶部,内容区横向扩展,适合功能较少、操作频繁的场景
侧边菜单菜单垂直排列于左侧,适合功能层级较深的系统
组合模式顶部 + 侧边双菜单结构,兼顾导航广度与深度

附加功能

  • 经典模式 / 分组模式:控制左侧菜单的展示方式。
  • 固定顶部 / 固定侧边:保持导航栏常驻可视区域。
  • 自动分割菜单:根据屏幕宽度自动折叠或展开菜单。

操作提示:布局切换后,相关配置项会动态更新,仅显示当前模式下的可用选项。

菜单区展开image-20251020132636977菜单区收缩:image-20251020132727588


内容区域配置

用户可自定义内容区的显示元素,优化信息密度与操作空间:

  • ✅ 显示 Header
  • ✅ 显示面包屑导航
  • ✅ 显示左侧菜单
  • ✅ 显示 LOGO

适用场景

  • 全屏数据看板:关闭面包屑与菜单,最大化展示空间。
  • 快速导航模式:仅保留面包屑,简化界面。

配置示例图image-20251020133242772


个性化设置持久化

默认情况下,个性化配置仅在当前会话有效。为实现跨设备、跨会话的一致体验,系统支持将用户偏好保存至服务端

实现流程

  1. 用户在「页面配置」中完成设置调整。
  2. 点击底部 【保存设置】 按钮,配置信息提交至后端。
  3. 服务端关联用户账户,持久化存储偏好数据。
  4. 用户下次登录时,系统自动加载并应用历史配置。

优势

  • 无需重复设置,提升使用效率。
  • 多设备间体验一致,增强用户粘性。
  • 降低新用户学习成本,提升满意度。

功能界面示例

image-20251020133522892


语言切换

系统内置多语言支持,用户可自由切换界面语言,满足国际化使用需求。

开发说明:前端需遵循多语言规范进行文本抽取与翻译配置,具体实现详见《前端开发指导》章节。

示例图

image-20251020133654043


头像管理

用户可上传个人头像,并通过内置图像编辑器进行旋转、缩放、裁剪等操作,确保头像显示效果符合预期。

功能价值:增强用户身份识别,提升系统个性化程度。

示例图

image-20251020133821443


修改密码

为保障账户安全,系统提供密码修改功能。用户需验证当前密码后,方可设置新密码,确保操作安全性与身份真实性。

安全建议:鼓励用户定期更换密码,使用强密码策略。

示例图
image-20251020133901851


总结

通过上述功能,系统不仅提供了标准化的管理界面,更赋予用户高度的自主配置能力。从主题、布局到语言、头像,每一项个性化设置都旨在提升操作效率与使用愉悦感。结合服务端持久化存储,确保用户在任何时间、任何设备上都能获得一致、高效、个性化的使用体验,真正实现“千人千面”的智能后台管理。

3、 组织管理

系统提供全面且灵活的组织管理能力,涵盖机构管理、用户管理、角色管理、群组管理以及用户身份管理五大核心模块,支持企业多层级、多角色、跨部门的复杂组织架构需求。通过精细化的权限控制与灵活的身份关联机制,实现一人多岗、跨机构协作等典型业务场景的高效支撑。

组织管理在企业信息化体系中具有以下核心价值:

  • 实现组织数字化:构建可视化、可维护的企业组织树,支撑人力资源与系统权限的统一管理。
  • 提升权限分配效率:通过角色、群组和身份机制,实现权限的批量配置与动态调整。
  • 支持复杂用工模式:满足员工在多个机构中担任不同职务的需求,适应现代企业灵活用工趋势。
  • 降低运维成本:提供直观的操作界面与批量处理能力,显著减少管理员操作负担。

功能菜单路径
【系统管理】→【组织管理】
子菜单包括:

  • 机构管理(/system/orgmanager/deptmanager
  • 角色管理(/system/orgmanager/rolemanager
  • 用户管理(/system/orgmanager/usermanager
  • 身份管理(/system/orgmanager/identitymanager
  • 群组管理(/system/orgmanager/groupmanager

1. 机构管理

用于定义企业的组织结构,如公司、部门、班组等,支持树形层级展示与维护。

查询功能

系统提供直观的机构树视图,左侧为可展开折叠的组织架构树,右侧同步显示当前节点下的机构列表。支持按机构名称或编码进行快速搜索,点击任意节点可联动刷新下属机构信息。数据采用异步加载技术,确保在大型组织中依然保持流畅体验。

新增功能

可通过点击【新建】按钮进入添加页面,填写机构名称、编码、上级机构、类型(如公司/部门/班组)、组织类别(行政/党组/工会等)、状态及排序号等信息后保存。新增成功后自动刷新树形结构,便于即时查看。

修改功能

在机构列表中选择目标项,点击【编辑】按钮进入修改页面,支持对机构基本信息进行全面更新。部分字段如“排序号”和“有效状态”也支持在列表页直接内联编辑并提交,提升操作效率。

删除功能

支持单个删除和批量删除操作。系统在执行删除前会自动校验该机构是否含有子机构或关联用户,若存在依赖关系则禁止删除并提示具体原因,防止误操作导致数据异常。

界面示意图
image-20251020142903425机构树查找image-20251020143021696


2. 用户管理

用于管理系统内的用户账号

查询功能

页面左侧为机构树导航,机树节点有数字提示时,是表示此机构下人员数量,右侧为用户列表展示区。用户可根据登录名、姓名、工号等关键字进行全局搜索。列表默认按所属机构分组显示,支持分页浏览,并展示用户的基本信息如姓名、电话、状态、排序号等。

新增功能

可通过点击【新建】按钮进入添加页面,手动填写表单完成本地用户创建;

修改功能

点击用户行内的【编辑】按钮可进入详情页修改其个人信息。同时,对于“状态”、“排序号”等常用字段,支持在列表中直接修改并实时生效,无需跳转页面,极大提升管理便捷性。

删除功能

支持对单个用户或选中的多个用户执行删除操作。删除后该用户将无法登录系统。系统会在删除前检查其是否被角色、群组或身份引用,若有依赖则提示警告,确保关键人员不被误删。

界面示意图

用户列表意图: image-20251020143300233 用户详情页意图: image-20251020143521357

3. 角色管理

用于定义系统中的角色类型,作为权限分配的基础单元,例如“管理员”、“财务专员”、“审核员”等。

查询功能

角色管理页面采用分类导航+列表展示的方式。左侧为角色分类菜单,右侧列出对应类别的所有角色。用户可通过名称或编码快速检索所需角色,便于在大量角色中精准定位。

新增功能

点击【新建】按钮后,需填写角色名称、编码、类型、排序号及描述等信息。创建完成后,可在后续的授权管理中为其绑定菜单和页面元素权限,形成完整的权限模板。

修改功能

可通过【编辑】功能修改已有角色的非关键字段,如名称、描述、排序等。部分基础属性(如编码)一旦设定不可更改,以保证权限系统的稳定性。

删除功能

仅允许删除未被任何用户、群组或身份引用的角色。若角色已被使用,系统将阻断删除操作并提示“该角色已被引用”,确保权限体系的完整性不受破坏。

界面示意图

image-20251020143637548


4. 群组管理

用于将用户、角色或机构按逻辑关系进行分组,便于实现批量授权与统一管理。

查询功能

群组列表展示所有已创建的群组,包含名称、编码、描述、排序号等信息。支持通过关键词搜索,帮助管理员快速查找特定群组。

新增功能

点击【新建】按钮,输入群组基本信息即可完成创建。创建后可进一步配置其成员构成,支持添加用户、机构或角色作为成员。

修改功能

已创建的群组信息可随时编辑,包括名称、描述、排序号等。修改后立即生效,不影响现有成员关系。

删除功能

支持删除空群组或无成员引用的群组。若群组已被用于权限分配或其他业务场景,系统将提示相关依赖信息,防止误删影响系统运行。

界面示意图image-20251020143743672


5. 用户身份管理

本模块是组织管理的核心增强功能,用于建立用户、机构、角色三者之间的多对多关联关系,支持“一人多机构、一人多角色”的复杂场景。

查询功能

页面采用双栏布局:左侧为机构树,用于筛选用户范围;右侧为身份列表,展示每个用户在各个机构中所拥有的角色及其身份属性(主岗/兼岗)。支持按用户姓名、机构名称、角色名称进行联合查询,方便追溯权限来源。

新增功能

通过【添加身份】向导式流程完成配置,共分为三个步骤:首先选择目标用户;其次指定其归属的一个或多个机构;最后为每个机构下的用户分配一个或多个角色,并明确标记其中一个为“主岗”角色(即默认登录身份)。整个过程引导清晰,操作简单。

修改功能

支持灵活调整用户的身份配置,包括变更其在某机构中的角色集合、重新设置主岗角色、调整身份排序等。所有修改均实时生效,无需重启或刷新。

删除功能

可针对某一具体身份记录执行删除操作,即解除用户在某个机构中的角色关联,但不会影响其在其他机构的身份。删除前系统会提示确认,保障操作安全。

核心优势

  • 支持跨机构任职:同一用户可在多个部门或子公司中拥有独立角色。
  • 实现主兼岗区分:明确主要职责与辅助职责,系统依据“主岗”自动匹配初始权限。
  • 权限聚合机制:用户的最终权限为其所有身份对应角色权限的并集,确保全面覆盖。

典型应用场景

某分公司经理需同时负责“北京区域”和“华东大区”的管理工作,在两个机构中分别担任“运营主管”和“项目审批人”。通过身份管理,可一次性完成跨机构角色绑定,无需重复创建账号或手动分配权限。

界面示意图

身份列表意图: image-20251020143920878 添加身份向导意图: image-20251020144026579


综上所述,组织管理模块通过五大功能组件的协同运作,构建了一套完整的企业级权限与组织管理体系。特别是用户身份管理的引入,突破了传统RBAC模型的限制,实现了更细粒度、更高灵活性的权限控制,为企业数字化转型提供了坚实支撑。

4、 授权管理

授权管理是保障系统安全、控制数据访问权限的核心功能模块。本系统构建了覆盖前端菜单、页面元素及后端服务接口的多层次权限控制体系,支持对用户、角色、机构、群组等多种主体进行精细化授权,确保每位使用者仅能访问其被授权的功能与资源。

在传统基于角色的访问控制(RBAC)模型基础上,系统进行了扩展,引入“资源+主体+动态关联”的灵活授权机制,避免因权限组合复杂而导致的角色膨胀问题,显著提升权限配置的可维护性与灵活性。

此外,系统还为跨应用的服务调用提供了独立的接口授权能力,支持API级别的安全管控,适用于微服务或分布式架构场景。

功能入口路径
【系统管理】→【授权管理】
子菜单包括:

  • 菜单管理(/system/auth_manager/menu
  • 菜单授权(/system/auth_manager/menu_auth
  • 页面元素管理(/system/auth_manager/element
  • 页面元素授权(/system/auth_manager/element_auth

通过这个模块,您可以:

  • ✅ 决定哪个用户/角色能看到【用户管理】、【报表统计】等菜单
  • ✅ 控制谁可以点击【新增】、【删除】、【导出】等具体按钮
  • ✅ 精细化设置不同岗位人员的功能权限,保障系统安全
功能作用
菜单管理定义系统有哪些功能菜单(如“仪表盘”、“用户管理”)
菜单授权把菜单分配给用户或角色,决定谁能访问
页面元素管理定义页面上的可控按钮或输入框(如“新增用户”按钮)
页面元素授权把按钮等元素分配给用户或角色,决定谁能操作

1、菜单管理

菜单管理用于定义系统的功能导航结构,是权限体系的基础组成部分。通过该模块,管理员可以创建、编辑和组织菜单项,设置其显示逻辑与访问规则。

1. 菜单查询与浏览

进入【菜单管理】页面后,系统以树形结构展示所有菜单及其层级关系。每个菜单节点包含以下属性:

  • 菜单名称(支持国际化)
  • 路径(前端路由地址)
  • 图标
  • 是否公共:若为“是”,则无需授权即可访问
  • 是否隐藏:控制是否在侧边栏显示(仍可通过URL访问)
  • 是否隐藏子菜单:决定其子项是否默认折叠
  • 排序号:影响同级菜单的展示顺序

页面顶部提供关键字搜索框,支持快速定位特定菜单。常用字段如“是否隐藏”、“排序号”等支持列表内直接编辑,无需跳转即可完成批量调整。

界面示意图

image-20251104074539399

2. 新建菜单

点击【新建】按钮,弹出配置表单,需填写以下信息:

  • 菜单名称(中英文)
  • 国际化Key(用于多语言支持)
  • 路由路径(如 /dashboard/base
  • 组件路径(如 /system/auth_manager/menu/index
  • 图标选择
  • 所属父级菜单(用于构建层级)
  • 公共性、隐藏状态、子菜单显示策略等控制属性

保存后,新菜单将自动插入树形结构并实时生效。

界面示意图

image-20251104074734048

3. 编辑菜单

在菜单列表中点击【编辑】按钮,可修改菜单的任意属性。部分高频字段(如隐藏状态、排序号)也可在列表中直接修改,提升操作效率。

⚠️ 注意:修改菜单路径或组件路径时需谨慎,避免影响现有功能跳转。

界面示意图

image-20251104074835197

4. 删除菜单

点击【删除】按钮,系统会提示确认操作。若该菜单含有子菜单,将自动提示是否级联删除。

删除影响说明

  • 菜单项本身将从导航中移除;
  • 与其绑定的所有权限配置将被同步清除
  • 用户将无法再通过该路径访问对应功能。

建议在删除前评估影响范围,并做好备份。


2、菜单授权

【菜单授权】是一个独立的功能页面(/system/auth_manager/menu_auth),用于将菜单资源分配给具体的授权对象,实现差异化访问控制。

1. 界面布局

页面采用左右双区结构:

  • 左侧:菜单树 可展开查看所有菜单项,支持多选。每个节点旁标注了当前已被授权的对象数量,便于掌握权限分布情况。

  • 授权对象面板 分为4种对象类型:

    • 机构部门
    • 用户
    • 角色
    • 群组

    界面示意图

    image-20251104075015376

2. 授权流程

  1. 在左侧菜单树中勾选一个或多个目标菜单(支持跨层级选择);
  2. 点击右侧【添加授权】按钮,弹出对象选择器;
  3. 支持通过搜索、分页等方式筛选对象,可单选或批量添加;
  4. 提交后,系统立即建立授权关系,并刷新右侧列表及计数。

✅ 支持反向撤销:已在列表中的授权对象可通过【移除】按钮取消权限。

界面示意图

image-20251104075159214

3. 权限继承与计算规则

  • 用户最终可见菜单 = 其个人直授 + 所属角色 + 所在机构 + 所属群组 的权限并集
  • 若菜单标记为“公共”,则无需授权即可访问
  • 显式拒绝权限(如有)优先于允许权限
  • 子菜单默认继承父菜单的授权范围,但可单独设置例外

3、页面元素管理

【页面元素管理】(/system/auth_manager/element)用于定义系统中可受控的UI组件,如按钮、输入框、操作链接等,实现比菜单更细粒度的权限控制。

1. 查询与组织方式

页面左侧为菜单树,右侧为元素列表,两者联动。选择某一菜单后,右侧仅展示归属于该页面的可控元素。

每条记录包含:

  • 元素名称
  • 元素编码(全局唯一,通常对应前端DOM ID)
  • 所属菜单
  • 元素类型(按钮、输入框、下拉框等)
  • 是否公共
  • 排序号

支持关键字搜索、排序号内联编辑、批量删除等操作。

界面示意图

image-20251104075315457

2. 新建页面元素

点击【新建】按钮,填写以下信息:

  • 元素名称(便于识别)
  • 元素编码(必须与前端代码一致,需与开发协同定义)
  • 所属菜单(用于归类)
  • 元素类型(用于分类管理)
  • 公共性设置
  • 排序号

保存后,该元素即纳入权限管理体系。

界面示意图

image-20251104075402870

3. 编辑与删除

  • 可随时修改元素属性,但元素编码一旦设定不建议更改,以免前端无法匹配。
  • 删除元素时,系统会自动清除其所有关联的授权记录,可能导致原本受控的功能失去保护,请谨慎操作。

界面示意图

image-20251104075522074


4、页面元素授权

【页面元素授权】(/system/auth_manager/element_auth)是独立的授权配置页面,用于将页面元素分配给具体用户或角色,实现“谁能看到哪个按钮”的精准控制。

1. 界面结构

  • 左侧:元素选择区
    • 上部为菜单树,用于筛选页面
    • 下部为该页面下的元素列表,支持多选
  • 右侧:已授权对象列表
    • 包括“机构部门”、“用户”、“角色”、“群组”四种类型的对象

界面示意图

image-20251104075646366

2. 授权操作

  1. 在左侧选择一个或多个页面元素;
  2. 切换到右侧目标列表;
  3. 点击【添加授权】按钮,弹出授权对象选择器;
  4. 支持按角色,机构,用户,群组授权,可单选或多选;
  5. 确认后提交,系统立即更新授权关系并刷新视图。

🔄 实时生效:用户下次刷新页面时,其界面将根据最新权限动态渲染元素可见性。

界面示意图

image-20251104075801967

3. 典型应用场景

示例:在报销审批系统中,“删除”按钮仅对提交人本人和财务管理员可见。

解决方案:将“删除”元素分别授权给“报销人角色”(配合业务逻辑判断本人)和“财务组群组”,实现安全且灵活的控制。


5、核心特性总结

特性说明
模块独立化菜单管理、菜单授权、元素管理、元素授权均为独立菜单,职责分离清晰
多维度资源支持覆盖菜单、页面元素、后端接口三级权限控制
多样化授权主体支持用户、角色、机构、群组四种类型,满足复杂组织架构需求
细粒度控制可精确到按钮、输入框级别,提升安全性与用户体验
动态权限聚合用户权限为其所有身份对应权限的并集,无需绑定单一角色
公共资源机制标记为“公共”的资源无需授权即可访问,简化通用功能配置
数据一致性保障删除资源时自动清理关联授权,防止权限残留
操作友好性支持搜索、批量操作、内联编辑、实时刷新,提升管理效率

6、最佳实践建议

  1. 优先使用角色和群组授权:对于通用岗位(如“财务”、“HR”),建议通过角色统一授予权限,便于批量管理。
  2. 慎用个人直授:仅在特殊场景下对个别用户单独授权,避免权限碎片化。
  3. 定期审计权限:结合【访问日志】模块,定期检查菜单与元素的实际访问情况,及时清理冗余权限。
  4. 编码规范协同:页面元素编码应与前端开发约定命名规则(如 btn_submit_order),确保前后端一致。
  5. 测试验证机制:权限变更后,建议使用不同身份账号登录验证效果,确保控制逻辑正确。

综上所述,本系统的授权管理模块通过功能解耦、界面独立、逻辑清晰、操作高效的设计,构建了一个既安全又灵活的权限治理体系,能够有效支撑从中小型应用到大型企业级平台的多样化权限需求。

5. 应用注册及访问凭证管理

应用注册及访问凭证管理提供应用注册管理及访问凭证管理功能,是系统安全架构中的关键模块,主要用于实现对内部或外部集成应用的统一注册、状态管控与安全认证。该模块支持为每个注册的应用生成唯一的访问凭证(Access Key),并通过严格的权限控制机制保障跨系统服务调用的安全性与可控性。

本模块适用于微服务架构、分布式系统以及多系统协同场景,确保各应用在接入平台时具备身份识别能力,并通过访问密钥进行身份验证和权限校验,防止未授权访问与数据泄露。

功能入口路径: 【系统管理】→【授权管理】→【应用注册管理】 路径地址:/system/auth_manager/app_register

通过此模块,您可以:

  • ✅ 注册新的业务系统或子应用
  • ✅ 启用/禁用应用以控制其运行状态
  • ✅ 为应用生成并管理访问凭证(AK/SK)
  • ✅ 实现基于应用级别的API安全访问控制

功能结构概览

功能模块主要作用
应用注册管理管理所有接入系统的元信息,包括名称、编码、状态等
访问凭证管理为已注册应用生成和维护访问密钥(Access Key / Secret Key)

1. 应用注册管理

1.1 功能描述

“应用注册管理”用于登记系统内需要接入或调用其他服务的应用程序。每个应用需具备唯一标识(应用编码),并可设置启用/禁用状态,便于统一管控其对外服务能力。

1.2 页面布局与字段说明

主页面展示所有已注册的应用列表,包含以下字段:

字段说明
序号自动编号
应用名称显示名称,供管理员识别使用
应用编码唯一标识符(如 APP_PM),用于接口调用时的身份识别
状态当前是否启用(启用/禁用)
凭证数该应用下已生成的访问凭证数量
操作支持查看、编辑、删除操作

🔍 搜索与筛选

  • 支持通过“应用名称”或“应用编码”关键字搜索
  • 可按状态筛选(启用/禁用)

📌 批量操作

  • 支持勾选多个应用进行批量删除
  • 提供“新增”按钮创建新应用

1.3 新增应用

点击【新增】按钮,弹出表单用于填写应用基本信息:

字段必填说明
应用名称示例:项目管理、财务系统
应用编码全局唯一,建议采用大写字母+下划线格式(如 APP_PM
状态默认为“启用”,可切换为“禁用”
排序号决定在列表中的显示顺序
备注信息可填写用途说明、负责人等辅助信息

⚠️ 注意:

  • 应用编码一旦创建不可修改,请确保命名规范且具有唯一性。
  • 编码将作为后续接口调用的身份凭据之一,需与开发团队保持一致。

界面示意图

应用入口:

应用入口

新增应用

新增应用截图

1.4 编辑应用

点击某行记录的【编辑】按钮,可修改应用的基本信息,包括:

  • 应用名称
  • 排序号
  • 状态(启用/禁用)
  • 备注信息

❗ 限制:

  • 应用编码不可更改,避免影响已有接口调用逻辑。
  • 修改后立即生效,不影响现有凭证有效性。

界面示意图

编辑应用截图

1.5 删除应用

点击【删除】按钮,系统会提示确认操作。

⚠️ 删除影响说明:

  • 应用本身将从列表中移除;
  • 所有与其关联的访问凭证将被自动清除
  • 已存在的接口调用将因身份失效而失败。

建议在删除前确认无依赖系统仍在使用该应用。

2. 访问凭证管理

2.1 功能描述

“访问凭证”即 Access Key / Secret Key(简称 AK/SK),是应用进行 API 调用时的身份认证凭证。系统为每个注册的应用提供独立的凭证管理能力,支持多组凭证轮换、临时密钥生成等高级安全策略。

每组凭证包含两个部分:

  • 访问密钥(Access Key ID):公开标识,用于请求签名
  • 安全密钥(Secret Key):保密信息,仅在生成时可见一次,必须妥善保存

2.2 凭证管理界面

右侧区域为“凭证管理区”,仅当左侧选择某个应用后才可显示。支持以下操作:

操作说明
添加凭证为当前应用生成一组新的 AK/SK
查看凭证查看已有凭证的 Access Key(可复制)
删除凭证移除不再使用的凭证

💡 特点:

  • 每个应用可拥有多个凭证,支持多环境共存(如测试/生产)
  • 安全密钥仅在生成时展示一次,关闭弹窗后无法再次查看

2.3 新增访问凭证

点击【添加凭证】按钮,弹出对话框:

字段说明
凭证名称必填,建议注明用途(如:“OA系统生产环境主密钥”)
访问密钥(AK)自动生成,支持复制
安全密钥(SK)自动生成,仅显示一次,务必及时复制保存

⚠️ 重要提示:

  • 安全密钥只显示一次! 关闭弹窗后将无法再次查看。
  • 建议将 SK 存储于安全的密码管理工具中,避免明文存储。

界面示意图

新增凭证

2.4 查看与删除凭证

  • 查看:点击【查看】按钮可重新显示访问密钥(AK),但不会暴露 SK。
  • 删除:点击【删除】按钮可移除该凭证,对应的应用将失去使用该密钥的权限。

✅ 删除后效果:

  • 该凭证失效,任何使用该 AK/SK 的请求都将被拒绝
  • 不会影响其他凭证的正常使用

3. 核心特性总结

特性说明
应用唯一标识每个应用拥有全局唯一的编码,便于系统间识别
状态可控支持启用/禁用应用,快速切断非法访问
多凭证支持单个应用可配置多个 AK/SK,满足不同环境需求
安全密钥一次性展示防止密钥泄露,提升安全性
凭证生命周期管理支持新增、查看、删除,完整闭环
权限隔离每个凭证独立,互不干扰,降低风险
集成友好与主流 API 网关、OAuth 等安全框架兼容

4. 典型应用场景

🌐 场景一:微服务间调用

  • A 服务调用 B 服务的 REST API
  • A 使用注册的 APP_A 凭证发起请求
  • B 服务校验 AK/SK 是否有效,决定是否放行

🧩 场景二:第三方系统接入

  • 第三方 OA 系统需对接本平台的组织架构接口
  • 在本系统注册 “OA系统” 应用,并生成专属凭证
  • OA 使用该凭证进行身份认证,获取合法数据

🔁 场景三:密钥轮换

  • 生产环境密钥到期前,新建一组新凭证
  • 更新调用方配置,逐步迁移至新密钥
  • 删除旧密钥,完成安全轮换

5. 最佳实践建议

  1. 命名规范统一 应用编码遵循 APP_XXX 格式,凭证名称标注用途(如“生产主密钥”、“测试备用密钥”),方便后期审计。
  2. 避免长期使用单一密钥 定期更换密钥,减少泄露风险;推荐每 90 天轮换一次。
  3. 谨慎处理密钥泄漏 若怀疑密钥泄露,应立即删除该凭证,并生成新密钥。
  4. 结合日志审计 配合【监控管理】中的访问日志,追踪凭证使用行为,发现异常调用。
  5. 禁止明文存储密钥 不要在代码、配置文件或数据库中硬编码 SK,应使用密钥管理系统或环境变量管理。
  6. 权限最小化原则 每个应用仅授予其必需的接口权限,避免过度授权。

6. 安全提醒

  • 访问密钥(AK)可以公开,但需配合签名算法使用;
  • 安全密钥(SK)绝对不能暴露,一旦泄露可能导致系统被入侵;
  • 🔒 所有 API 请求必须携带正确的 AK/SK 并进行签名验证;
  • 🛠 建议启用 API 网关或中间件对请求进行鉴权拦截。

总结

本节 应用注册管理及访问凭证管理模块 构建了一套标准化、高安全性的应用接入体系,实现了:

  • 应用的集中注册与状态控制
  • 访问凭证的动态生成与安全管理
  • 多环境、多角色下的灵活权限分配

无论是在企业内部系统集成,还是面向外部合作伙伴开放 API 接口,该模块都能提供可靠的身份认证与访问控制能力,是构建安全架构不可或缺的一环。

6、 监控管理

1、功能概述

监控管理是系统运行状态的“仪表盘”,帮助您掌握用户行为、系统性能和缓存健康状况。本模块包含三大功能:

功能作用
登录日志记录所有用户的登录情况,用于安全审计
缓存管理查看系统缓存使用情况,支持手动清理异常缓存
访问日志记录每一次页面操作请求,便于排查问题

入口路径
登录后 → 点击左侧菜单【监控管理】→ 选择对应功能

2、登录日志

1. 日志列表

进入【登录日志】页面后,您将看到如下信息列表:

字段说明
序号日志记录的编号
用户名登录系统的用户账号(如 admin
客户端IP用户登录时的网络地址(如 192.168.1.100),可用于定位设备
登录时间用户成功或失败登录的具体时间
登录状态显示“成功”或“失败”
User-Agent用户使用的浏览器和操作系统信息(如 Chrome/Windows)
登出时间用户主动退出或超时退出的时间(可能为空)
操作【查看详情】按钮

界面示意图

image-20251104083722291

2. 查看详细信息

点击【查看详情】,可查看该次登录的完整信息,包括:

  • 用户名
  • 客户端IP
  • 登录时间
  • 登录状态
  • User-Agent(完整字符串)
  • 登出时间(如有)
  • 其他系统识别信息(如设备类型、操作系统版本等)

3. 搜索与筛选

  • 支持按 用户名、IP地址、时间范围 进行筛选。
  • 推荐定期检查“登录失败”记录,排查是否存在恶意尝试登录行为。

典型用途

  • 发现异常IP频繁登录失败 → 可能存在暴力破解,建议加强密码策略或限制IP
  • 某用户长时间未登录 → 可考虑禁用其账号以提升安全性

3、缓存管理

系统为提升性能使用了本地内存和 Redis 缓存。此功能帮助您监控缓存状态,并在必要时清理。

1. 缓存列表

进入【缓存管理】页面,您将看到以下信息:

字段说明
序号缓存空间编号
缓存名称缓存的业务名称(如 userCachemenuCache
描述该缓存的作用说明(如“用户信息缓存”)
本地缓存数当前服务器内存中缓存的对象数量
Redis缓存数分布式Redis中存储的对象数量
操作【清空】按钮

界面示意图image-20251104125400241

2. 清空缓存

当系统出现数据不一致或更新后未生效时,可手动清空缓存:

操作步骤

  1. 找到目标缓存项(如 menuCache
  2. 点击【清空】按钮
  3. 系统弹出确认提示:“确定要清空 [menuCache] 的缓存吗?”
  4. 点击【确定】后,该缓存空间将被立即清空

⚠️ 注意事项

  • 清空后,系统会自动重建缓存,首次访问相关功能时可能稍慢
  • 建议在业务低峰期执行清空操作
  • 不影响数据安全,仅提升性能

常见场景

  • 修改了菜单但部分用户看不到 → 清空 menuCache
  • 更新了用户权限但未生效 → 清空 userCacheauthCache

4、访问日志

1. 日志列表

进入【访问日志】页面,您将看到每次用户操作的请求记录:

字段说明
序号日志编号
用户名操作用户账号
用户IP请求来源IP地址
请求地址后台接口地址(如 /api/user/list
耗时(毫秒)该请求处理所用时间,数值过大可能表示性能问题
请求时间操作发生的具体时间
状态码HTTP状态码(如 200 成功,404 未找到,500 服务器错误)
方法请求类型(如 GETPOST
User-Agent浏览器和操作系统信息
来源页面用户从哪个页面发起的请求(如 /user/list
操作【查看详情】按钮

界面示意图

image-20251104125900479

2. 查看详细信息

点击【查看详情】,可查看该请求的完整信息,包括:

信息项示例
用户名admin(系统管理员)
客户端IP127.0.0.1
服务端IP192.168.145.5,192.168.207.1,...(负载均衡下的多台服务器)
请求地址http://127.0.0.1:8090/caches_manager/findCacheInfoTable
HTTP方法POST
状态码200
响应时间527 ms
请求时间2025-10-20 16:11:21
用户代理Mozilla/5.0 (Windows NT 10.0; Win64; x64) ...
请求参数URL中的查询参数(如 ?page=1&size=10
请求体POST 请求提交的JSON或表单数据(如有)
来源http://localhost:8000/(用户从哪个页面跳转)
设备Desktop(桌面端)
操作系统Windows NT ??
浏览器Chrome 140
异常类型--(无异常)
错误信息(如有异常,此处显示具体错误堆栈)

使用技巧

  • 排查问题:当用户反馈“保存失败”时,可在访问日志中搜索其用户名和时间,查看是否有 500 错误。
  • 性能分析:查找“耗时”超过 1000ms 的请求,分析是否需要优化。
  • 安全审计:检查是否有异常IP频繁调用敏感接口(如删除、导出)。

5、最佳实践建议

推荐做法

  • 每周查看一次【登录日志】,关注“失败”记录
  • 系统升级或配置变更后,及时清空相关缓存
  • 使用【访问日志】定位用户反馈的问题,提高响应效率

⚠️ 注意事项

  • 日志数据量较大,建议按需导出分析
  • 缓存清空操作不可撤销,请确认后再执行
  • 访问日志包含完整请求信息,请妥善保管,防止信息泄露

通过本手册,您已掌握监控管理的全部核心功能。善用这些工具,可显著提升系统的稳定性、安全性和可维护性。