logologo
开始
教程
手册
开发
插件
API
首页
English
简体中文
日本語
한국어
Español
Português
Deutsch
Français
Русский
Italiano
Türkçe
Українська
Tiếng Việt
Bahasa Indonesia
ไทย
Polski
Nederlands
Čeština
العربية
עברית
हिन्दी
Svenska
开始
教程
手册
开发
插件
API
首页
logologo

V2 教程(IT 工单系统)

教程简介
第 1 章:认识 NocoBase — 5 分钟跑起来
第 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第 5 章:标签页与动态区块
Next Page第 7 章:工作流

#第 6 章:用户与权限

在团队协作中,每个人都应该明确自己的职责和权限,才能确保工作顺利推进。今天,我们将一起来学习角色创建和权限管理,让协作更加顺畅、有序。

别担心,这个过程并不复杂,我们会带你一步步完成,在每个关键环节引导你。如果你遇到任何问题,请随时来我们官方论坛求助。

#需求探讨:

我们需要一个“伙伴”(Partner)角色,这个角色有一定的权限来参与任务管理,但不能随意修改他人的任务。通过这种方式,我们可以灵活进行任务分配和协作。

角色和权限简介: 角色和权限是管理用户访问和操作的重要机制,确保系统的安全性和数据的完整性,角色可以给用户进行绑定,一个用户可以拥有多个角色。对角色的权限设置从而能够控制用户在系统中的行为、操作以及对用户的页面功能展示限制等等,具有重要的权限控制意义。 使用角色和权限功能,与用户进行绑定。能够在此次案例学习中让你对自己的管理系统有了更好地管控,作为管理者你能够随心所欲调动安排谁具有怎么样的系统操作权限!

#6.1 角色创建与绑定

#6.1.1 “伙伴(Partner)” 角色创建

  • 点击界面右上角的“用户和权限”,选择“角色和权限”。这是我们设置角色和管理权限的地方。
  • 点击“创建角色”按钮,弹出一个对话框。在这里,为角色命名为伙伴(Partner),并确认保存。

你已经成功创建了一个新角色!接下来,我们需要给这个角色分配权限,确保他们能够参与到任务管理中。

#6.1.2 为自己绑定新角色

为了确保我们设置的角色权限生效,我们可以先把这个角色绑定到自己的账号上进行测试。操作很简单:

  • 在用户管理中找到你的账号,点击进入,选择“绑定角色”,选择“伙伴”。

这样你就可以用自己账号模拟“伙伴”角色的体验了。接下来,我们要试试如何切换角色。

#6.1.3 切换“伙伴”角色

现在,你已经绑定了“伙伴”角色。接下来,我们来看看如何切换角色。

  • 点击右上角的个人中心,然后选择“切换角色”。
  • 你可能会发现列表里暂时没有出现“伙伴”角色的选项,别担心,这时候只需要刷新页面/缓存,角色就会显示出来啦!

#6.2 为角色分配页面权限

切换到“伙伴”角色之后,你可能会发现系统上没有任何页面和菜单。这是因为我们还没有给这个角色分配访问特定页面的权限。没关系,接下来我们来为“伙伴”角色设置访问权限。

#6.2.1 为“伙伴”角色分配任务页面权限

  • 首先,切换回 Root 角色(超级管理员),然后进入“角色和权限”页面。
  • 点击“伙伴”角色,进入配置页面。这里我们可以看到一个“菜单”标签,表示系统中的所有页面。
  • 勾选“任务管理”页面权限,这样“伙伴”角色就可以访问任务管理页面了。

回到个人中心,再次切换到“伙伴”角色,这时你应该已经能够看到任务管理菜单页了。

#6.2.2 设置数据表和操作权限

虽然现在“伙伴”角色已经可以访问任务管理页面,但我们还需要进一步限制他们的操作权限。我们希望“伙伴”可以:

  • 查看和编辑分配给自己的任务;
  • 更新任务进度;
  • 但是不能创建或删除任务。

为此,我们需要配置“任务表”的权限。来吧,我们继续!

#6.2.2.1 为“伙伴”角色配置数据表权限
  • 进入“角色和权限”页面,点击“伙伴”角色,切换到“数据源”选项卡。
  • 在这里,你会看到“数据表操作权限”的设置。找到“任务表”,我们需要为“伙伴”分配“查看”和“编辑”权限。
  • 为什么编辑权限分配的是 ‘所有数据’ ? 虽然我们暂时赋予了伙伴全部的编辑权限。但我们后续会根据“任务责任人”动态限制字段权限。 所以一开始保留最大权限是为了后面的控制更加灵活。
  • “新增”、“删除” 我们不希望给其他角色开放,所以从一开始就不必分配。

到这里为止,伙伴角色已经有权限查看和编辑所有任务表了。接下来我们需要更进一步的控制,以确保他们只能编辑分配给自己的任务。

#6.3 任务添加“负责人”字段

接下来,我们要为每个任务指定一个负责人。通过指定负责人,我们可以确保只有任务的负责人才能修改任务,而其他人只能查看。这时我们需要用到关系字段,来关联任务表和用户表。

#6.3.1 创建“负责人”字段

  1. 进入“任务表”,点击“添加字段”,选择“关系字段”。
  2. 选择“多对一”关系(因为一个任务只能有一个负责人,而一个用户可以负责多个任务)。
  3. 为字段命名为“负责人(Assignee)”。不用勾选反向关系,暂时我们用不上。

#6.3.2 展示“负责人”字段

接下来,我们需要确保在任务管理页面的表格和表单中展示“负责人”字段,这样你就可以轻松为每个任务分配负责人了。(如果你的字段默认展示编号,别慌,把标题字段从 ID 改成“昵称”即可)

#6.4 使用权限管理控制权限

接下来是重头戏!!现在,我们要利用 NocoBase 的权限管理来实现一个非常强大的功能:只有任务的负责人和创建者能够编辑任务,其他人只能查看。 NocoBase 的下一个灵活性即将展现。

#6.4.1 简单尝试,只有负责人能编辑表单

我们希望只有任务的负责人能够编辑任务,因此我们要设置以下条件:

  • 我们回到“伙伴”的数据表权限,点开任务表的“配置”,并点击“编辑权限”后面的 “数据范围”。
  • 新建一条自定义规则,命名为“责任人可编辑”: 当“负责人/ID” 等于 “当前用户/ID” 时,才可编辑; 这意味着只有任务负责人才能编辑任务,其他人只能查看。
  • 因为我们负责人字段用的是用户表,登录用户也在用户表中,所以这条规则完美实现了我们的第一个需求。

点击添加,确定

我们回到页面看一下:

完美,现在我们切换伙伴角色,回到页面看一下,只有项目责任人是我们自己是,编辑操作才会暴露给我们。

#6.4.2 条件附加,创建人修改表单

接下来你可能很快发现了新问题:

由于大部分任务我们都不是负责人,我们自己没办法编辑表单,而且其他小伙伴也看不到任务详情了!

别担心,还记得我们给伙伴分配了所有数据的“查看” 权限吗?

  • 我们回到页面,在配置中点选“查看”,新增一个查看操作

  • 类似编辑操作的弹窗布局,做一个查看弹窗,切记选择“详情”区块。

搞定~

#6.5 验证权限控制

如果你尝试切换到不同用户,查看表单时,你会发现表单区块中,已经自动根据对应用户的权限,展示出了不同的操作。我们所有已负责的任务都会开放编辑操作权限,而未负责的项目,就只有查看操作。

当我们切换到 Root 角色,又会恢复所有的权限,这就是 NocoBase 权限控制的强大之处!

接下来可以随意指派任务负责人、叫上小伙伴一起合作啦。让我们来为团队添加一名新成员,并测试一下我们设置的权限是否正确。

#6.5.1 创建新用户并分配角色

  • 创建一个新用户,比如 Tom,并分配“伙伴”角色。

  • 在任务管理页面,将几条任务分配给 Tom。

#6.5.2 登录测试

让 Tom 登录系统,看看他是否能正常查看并编辑分配给他的任务。通过设置的权限规则,Tom 应该只能编辑自己负责的任务,其他任务对他是只读的。

所有页面的编辑表单权限已经成功同步~

#小结

恭喜你!到现在为止,你已经学会了如何在 NocoBase 中创建角色、分配权限、设置自定义权限,确保团队成员只能编辑分配给自己的任务。通过这些步骤,你已经为团队协作建立了一个清晰、有序的权限管理系统。

#挑战任务

到目前为止,Tom 已经能够查看和编辑自己负责的任务,但你可能注意到,他还无法发表评论,无法在任务中参与互动。那么,我们该如何给 Tom 分配权限,让他可以自由发表意见、参与讨论呢?这会是一个非常有趣的挑战!

挑战提示:

你可以尝试回到角色权限设置中,调整“伙伴”角色的权限,比如数据表,看看如何让 Tom 拥有评论的权限,同时保证不会影响他在其他任务中的限制操作。

快去试试吧!我们会在接下来的内容中揭晓答案。

在下一章中,我们也将实现 ”成员动态“ 功能,并介绍另一个强大的功能模块——工作流。通过工作流,你可以实现数据的动态流转、触发各种操作,让系统自动化处理繁琐的业务流程。准备好继续探索吗?我们第七章:工作流——自动赋能,效率飞跃见!


继续探索,尽情发挥你的创造力!如果遇到问题,别忘了随时查阅 NocoBase 官方文档 或加入 NocoBase 社区 进行讨论。