logologo
开始
教程
手册
开发
插件
API
首页
English
简体中文
日本語
한국어
Español
Português
Deutsch
Français
Русский
开始
教程
手册
开发
插件
API
首页
logologo

V2 教程(IT 工单系统)

教程简介
第 1 章:认识 NocoBase
第 2 章:数据建模
第 3 章:搭建页面
第 4 章:表单与详情
第 5 章:用户与权限
第 6 章:工作流
第 7 章:仪表盘

V1 教程(旧版)

任务管理系统概览
第 1 章:初识 NocoBase
第 2 章:设计任务管理系统
第 3 章:任务数据管理
第 4 章:任务与评论插件
第 5 章:标签页与动态区块
第 6 章:用户与权限
第 7 章:工作流
项目管理平台概览
第 8 章:知识库 - 树表
第 9 章:任务看板与图表
第 10 章:看板筛选与条件
第 11 章:子任务与工时计算
第 12 章:会议室预订与工作流
实现用户注册审核
实现 CRM 线索转化
Markdown 区块技巧
CRM 销售云功能概览
线索跟进与状态管理
CRM 销售云系统
使用 API Keys 获取数据
Markdown 模板变量用法
如何更快部署 NocoBase
CRM 销售管道可视化
CRM Demo 部署指南
Previous Page第 4 章:表单与详情
Next Page第 6 章:工作流

#第 5 章:用户与权限 — 谁能看什么

上一章我们把表单和详情页做好了,工单系统已经能正常录入和查看数据。但现在有个问题——所有人登录后看到的东西都一样。提交工单的普通员工能看到管理页面,技术员能删除分类……这可不行。

这一章,我们来给系统加上"门禁":创建角色、配置菜单权限和数据范围,实现不同的人,看到不同的菜单,操作不同的数据。

#5.1 理解角色(Role)

在 NocoBase 里,角色就是一组权限的集合。你不需要给每个用户单独配权限,而是先定义好几个角色,再把用户丢进对应的角色里。

NocoBase 安装后自带三个角色:

  • Root:超级管理员,拥有一切权限,不可删除
  • Admin:管理员,默认拥有配置界面的权限
  • Member:普通成员,默认权限较少

但这三个内置角色不够用。我们的工单系统需要更细的划分,所以接下来我们创建 3 个自定义角色。

#5.2 创建三个角色

打开右上角设置菜单,进入 用户和权限 → 角色管理。

点击 添加角色,依次创建:

角色名称角色标识说明
管理员admin-helpdesk能看所有工单,管理分类,分配处理人
技术员technician只看分配给自己的工单,能处理和关闭
普通用户user只能提交工单,只能看自己提交的

05-roles-and-permissions-2026-03-13-19-03-14

角色标识是系统内部用的唯一 ID,创建后不能改,建议用英文小写。角色名称可以随时修改。

05-roles-and-permissions-2026-03-13-18-57-47

创建完成后,角色列表里应该能看到我们新建的三个角色。

#5.3 配置菜单权限

角色建好了,接下来告诉系统:每个角色能看到哪些菜单。

点击某个角色进入权限配置页面,找到 菜单访问权限 选项卡。这里会列出系统中所有的菜单项,勾选就是允许访问,取消勾选就是隐藏。

管理员(admin-helpdesk):全部勾选

  • 工单管理、分类管理、仪表盘——都能看到

技术员(technician):部分勾选

  • ✅ 工单管理
  • ✅ 仪表盘
  • ❌ 分类管理(技术员不需要管分类)

普通用户(user):最少权限

  • ✅ 工单管理(只能看到自己的工单)
  • ❌ 分类管理
  • ❌ 仪表盘

05-roles-and-permissions-2026-03-13-19-09-11

小提示:NocoBase 有个方便的设置——"新增菜单项默认允许访问"。如果你不想每次加新页面都手动勾选,可以给管理员角色开启这个选项。对于普通用户角色,建议关闭它。

#5.4 配置数据权限

菜单权限管的是"能不能进这个页面",数据权限管的是"进了页面后能看到哪些数据"。

关键概念:数据范围(Data Scope)。

在角色的权限配置中,切换到 数据表操作权限 选项卡。找到我们的"工单"表,点击进入单独配置。

05-roles-and-permissions-2026-03-13-19-51-06

#普通用户:只看自己提交的工单

  1. 找到"工单"表的 查看 权限
  2. 数据范围选择 → 自己的数据
  3. 这样普通用户只能看到"创建人是自己"的工单 (需要注意,默认选项是以系统创建人字段为准,而非 提交人 字段,不过可以修改)

同理,把"编辑"和"删除"权限也设为 自己的数据(或者干脆不给删除权限)。

05-roles-and-permissions-2026-03-13-19-53-02

关于全局配置:如果只配置工单表,可能导致其他数据、配置项(比如分类表、处理人)看不到。我们目前的系统比较简单,本次在全局中直接勾选 “查看所有数据”,针对数据范围敏感的表,再单独配置权限

05-roles-and-permissions-2026-03-13-19-57-24

#技术员:只看分配给自己的工单

  1. 找到"工单"表的 查看 权限
  2. 数据范围选择 → 自己的数据
  3. 但这里有个细节——NocoBase 的"自己的数据"默认是按创建人过滤的。如果我们希望按"处理人"过滤,可以在全局操作权限里进一步调整,或者在前端页面用 数据区块的筛选条件 配合实现

05-roles-and-permissions-2026-03-13-20-01-54

实用技巧:还可以在表格区块上设置默认筛选条件来辅助权限控制,比如"处理人 = 当前用户"。不过页面配置是全局生效的,管理员也会被限制。折中方案:配置"处理人 = 当前用户 或 提交人 = 当前用户",兼容普通用户和技术员;管理员如需全局视图,再单独建一个不带筛选的页面。

05-roles-and-permissions-2026-03-13-22-21-34

#管理员:看到所有数据

管理员角色的数据范围选择 所有数据,所有操作都打开。简单直接。

05-roles-and-permissions-2026-03-13-21-45-14

#5.5 工单分配操作

权限配好之前,我们先给工单列表加一个实用功能:分配处理人。管理员可以直接在列表中把工单分配给某个技术员,不用进入编辑页面改一堆字段。

实现很简单——在表格操作列加一个自定义弹窗按钮:

  1. 进入 UI 编辑器模式,在工单列表表格的操作列中,点击 「+」 添加一个 「弹窗(Popup)」 操作按钮。

05-roles-and-permissions-2026-03-14-13-57-31

  1. 将按钮标题改为 「分配」(点击按钮配置项修改标题)。

05-roles-and-permissions-2026-03-14-13-59-22

由于只有一个简单的分配信息,我们采用简单的弹窗更合适,而不是抽屉,按钮右上角选择 弹窗设置,选择 对话框 较窄 > 确认 05-roles-and-permissions-2026-03-14-14-08-16

  1. 点击「分配」按钮打开弹窗,在弹窗中 「创建区块 → 数据区块 → 表单(编辑)」,选择当前数据表。
  2. 在表单中只勾选 「处理人」 一个字段,并在字段配置项中设为 必填。
  3. 添加 「提交」 操作按钮。

05-roles-and-permissions-2026-03-14-14-10-50

这样,管理员在工单列表中点击「分配」,弹出一个极简表单,选择处理人后提交即可。快速、精准,不会误改其他字段。

#用联动规则控制按钮显隐

「分配」按钮只有管理员才需要用,普通用户和技术员看到它反而造成困惑。我们可以用联动规则根据当前用户的角色来控制按钮的显示/隐藏:

  1. 在 UI 编辑器模式下,点击「分配」按钮的配置项,找到 「联动规则」。
  2. 添加一条规则,条件设为:当前用户 / 角色 / 角色名称 不等于 管理员(即 admin-helpdesk 角色对应的名称)。
  3. 满足条件时的动作:隐藏 该按钮。

这样,只有管理员角色的用户能看到「分配」按钮,其他角色登录后这个按钮自动隐藏。

05-roles-and-permissions-2026-03-14-14-17-37

#5.6 创建测试用户并体验

权限配好了,我们来实际验证一下。

进入 用户管理(设置中心或者你之前搭好的用户管理页面),创建 3 个测试用户:

用户名角色
Alice管理员(admin-helpdesk)
Bob技术员(technician)
Charlie普通用户(user)

05-roles-and-permissions-2026-03-13-22-23-47

创建好之后,分别用这三个账号登录系统,检查两件事:

1. 菜单是否按预期显示?

  • Alice → 能看到所有菜单

05-roles-and-permissions-2026-03-14-14-19-29

  • Bob → 只看到工单管理和仪表盘

05-roles-and-permissions-2026-03-13-22-26-50

  • Charlie → 只看到"我的工单"

05-roles-and-permissions-2026-03-13-22-30-57

2. 数据是否按预期过滤?

  • 先用 Alice 创建几条工单,分别分配给不同处理人
  • 切换到 Bob 登录 → 只看到分配给自己的工单
  • 切换到 Charlie 登录 → 只看到自己提交的工单

是不是很酷?同一个系统,不同用户看到完全不同的内容!这就是权限的力量。

#小结

这一章我们完成了工单系统的权限体系:

  • 3 个角色:管理员、技术员、普通用户
  • 菜单权限:控制每个角色能进哪些页面
  • 数据权限:控制每个角色能看到哪些数据(通过数据范围实现)
  • 测试验证:用不同账号登录,确认权限生效

到这里,工单系统已经像模像样了——能录入、能查看、能按角色控制访问。但所有操作都是手动的。

#下一章预告

下一章我们来学 工作流(Workflow)——让系统自动帮我们干活。比如工单提交后自动通知处理人,状态变更时自动记录日志。

#相关资源

  • 用户管理 — 用户管理详解
  • 角色与权限 — 角色配置说明
  • 数据范围 — 数据级权限控制