首页 > 其他分享 >【教程】第六章:合作伙伴——协作无间,灵活掌控

【教程】第六章:合作伙伴——协作无间,灵活掌控

时间:2024-11-14 13:31:59浏览次数:1  
标签:教程 角色 我们 任务 无间 第六章 权限 伙伴 页面

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

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

需求探讨:

我们需要一个“伙伴”(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. 为字段命名为“负责人(Assigner)”。不用勾选反向关系,暂时我们用不上。

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 社区 进行讨论。

标签:教程,角色,我们,任务,无间,第六章,权限,伙伴,页面
From: https://www.cnblogs.com/nocobase/p/18545787

相关文章

  • 校园圈子平台建立后后台如何操作运营呢?【附源码教程】
    系统基于TP6+Uni-app框架开发;客户移动端采用uni-app开发,管理后台TH6开发。系统支持微信公众号端、微信小程序端、H5端、PC端多端账号同步,可快速打包生成APP;我们为你准备了完善的后台管理,不需要你懂PHP,按照教程10分钟安装完即可使用,堪比深夜的杜蕾斯还方便。校园圈子系统是在......
  • 《刚刚问世》系列初窥篇-Java+Playwright自动化测试-4-启动浏览器-基于Maven(详细教程)
    1.简介上一篇文章,宏哥已经在搭建的java项目环境中添加jar包实践了如何启动浏览器,今天就在基于maven项目的环境中给小伙伴们或者童鞋们演示一下如何启动浏览器。2.eclipse中新建maven项目1.依次点击eclipse的file-new-other,如下图所示:2.在搜索框输入关键字“maven”,然后......
  • 从零到一构建并打包 React + TypeScript + Less组件库教程(二、组件库编译多产物及文档
    本系列目录如下:项目初始化搭建+代码规范集成组件库多产物编译及文档编写上篇文章我们将组件库的基本结构和规范进行了整理,本篇的核心基本全在components文件夹下本篇的打包参考了文章https://github.com/worldzhao/blog/issues/5,强烈建议阅读一下此文章,而且讨论区也能......
  • 从零到一构建并打包 React + TypeScript + Less组件库教程(一、项目初始化搭建+代码规
    本系列涉及的内容如下:组件库基础搭建,react+ts+less项目规范,包括但不限于prettier、eslint、stylelint、husky、lint-staged、commitlintpnpmmonorepo+turborepo集成gulp+webpack构建esm、cjs和umdstorybook文档集成此系列不包含发布npm和构建CI流程。......
  • 界面控件Kendo UI for Angular中文教程:如何构建带图表的仪表板?(一)
    KendoUIforAngularListView可以轻松地为客户端设置一个带有图表列表的仪表板,包括分页、按钮选项、数字或滚动,以及在没有更多项目要显示时的通知等。KendoUIforAngular是专用于Angular开发的专业级Angular组件。telerik致力于提供纯粹的高性能AngularUI组件,无需任何jQuery......
  • 界面控件DevExpress WPF中文教程:TreeList视图及创建分配视图
    DevExpressWPF拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpressWPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。无论是Office办公软件的衍伸产品,还是以数据为中心......
  • 最全面的输入法教程:后话
    最后,本文就来讲讲一些更加进阶的场景,以及一些感想。‍特殊场景如果你有输入生僻字的需求,可以看看这篇文章:【技术贴】快速输入生僻字-知乎此外除了输入汉字,学术方面还有时候得输入数学公式,此时就可以考虑用LaTex了,具体可以看我这篇文章:《Markdown与数学公式》。‍‍输......
  • LLM - 计算 多模态大语言模型 的参数量(Qwen2-VL、Llama-3.1) 教程
    欢迎关注我的CSDN:https://spike.blog.csdn.net/本文地址:https://spike.blog.csdn.net/article/details/143749468免责声明:本文来源于个人知识与公开资料,仅用于学术交流,欢迎讨论,不支持转载。影响(多模态)大语言模型参数量的主要网络模块,即Linear、Embedding、Norm(......
  • HarmonyOS NEXT开发实战教程-记账app
    今天分享的实战教程是一款记账app,最近分享的项目都是纯页面,没有服务端,没有数据接口,因为鸿蒙开发主要就是写页面,都是前端嘛。如果有友友想要完整的项目可以找幽蓝君定制,想学服务端开发的话幽蓝君也可以写。话不多说,看一下记账app的效果图: 下面为大家分享本项目的开发教程,其实......
  • Nodejs保姆级安装教程(超详细)
    目录一、安装环境二、安装步骤三、验证安装四、修改全局模块下载路径 五、更换npm源为淘宝镜像总结一、安装环境本教程演示的环境:win1064位node.js下载: https://pan.quark.cn/s/6cc0cf8ba5be二、安装步骤1、双击安装包,一直点击下一步。2、点击change按钮......