微搭低代码入门与实战03权限设计
创始人
2024-12-01 22:04:07

目录

  • 1 表结构设计
  • 2 创建数据源
  • 3 创建应用
  • 4 搭建页面
  • 5 角色和用户关联
  • 总结

我们在开发小程序或者H5应用的时候,需要设计完善的权限系统。通常在低代码中,我们需要基于RBAC模型进行设计。

RBAC的解释是基于角色的访问控制,我们不是直接给用户添加权限,而是给角色添加权限。这样在将用户添加到角色中就具备了角色对应的访问权限。

本篇介绍一下基于RBAC的权限设计

1 表结构设计

通常我们的权限系统需要三个对象,包括角色、用户和权限。他们之间的关系都是多对多,我们可以使用UML的类图来表达表和表之间的关系

首先是角色和用户的关系,我们用一个中间表来表达角色和用户的多对多关系
在这里插入图片描述
接着是角色和权限的关系,我们用一个中间表来表达权限和角色之间的多对多关系
在这里插入图片描述

2 创建数据源

关系梳理清楚之后,就需要创建对应的表,我们一共需要建立五张表,分别是角色表、用户表、权限表、角色用户表、角色权限表
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3 创建应用

表结构搭建好了之后,就可以开发我们的后台应用了。打开控制台,点击应用,点击前往编辑器
在这里插入图片描述
点击从空白新建
在这里插入图片描述
创建成功之后切换构建模式,切换成PC模式
在这里插入图片描述
点击创建页面,选择表格与表单页
在这里插入图片描述
在这里插入图片描述
在右侧选择数据模型,布局选择左侧导航布局
在这里插入图片描述
按照上述方法,依次创建其他页面

4 搭建页面

页面创建完毕之后,我们需要配置一下左侧的导航菜单,切换到布局视图
在这里插入图片描述
选择左侧导航布局,点击根据页面一键生成菜单
在这里插入图片描述
只保留列表页面
在这里插入图片描述
回到页面设计,预览一下,让配置生效
在这里插入图片描述
在这里插入图片描述

5 角色和用户关联

目前我们这种搭建方案,模块都是独立的。为了让模块之间有关系,我们需要按照角色模型添加一下功能。首先是角色和用户关联,通常我们在用户模块可以增加一个按钮叫分配角色。选中我们的表格组件,在操作列添加一个按钮,修改名称为分配角色
在这里插入图片描述
在点击这个按钮的时候,我们需要弹出一个列表,供用户勾选角色。选中页面组件,添加一个弹窗
在这里插入图片描述

然后在弹窗内容里添加标签选择组件
在这里插入图片描述
标签项就是我们的角色名称,为了数据绑定,我们需要新建一个变量来显示标签项的值

在代码区点击新建,创建一个数据表查询
在这里插入图片描述
在这里插入图片描述
选择角色管理
在这里插入图片描述
然后点击选项的fx绑定,我们通过变量绑定来构造一下选项值
在这里插入图片描述
输入如下的表达式

$w.rolelist.data.records.map(item=>({label:item.jsmc,value:item._id})) 

我们这里label构造成角色名称,value构造成数据标识,这样做的目的是当我们选中角色的时候,要结合当前选中角色的数据标识和当前登录用户的数据标识来写入到数据源中

总结

本篇我们介绍了权限设计的一个理论知识,RBAC,基于角色的访问控制。按照理论我们设计了表结构,搭建了页面,讲解了标签选择组件的用法。下一篇我们介绍一下如何获取用户信息,这样就可以将角色分配到用户表里。

相关内容

热门资讯

托举天舟十号升空!长七火箭“美... 5月11日8时14分,天舟十号货运飞船载着总重近6.2吨的补给物资和实验载荷,在长征七号遥十一运载火...
“一人公司”社区落地贵阳高新区 5月7日,贵州科学城科技创新园与贵州星梦源科技有限公司正式签署合作协议,共同落地OPC(One Pe...
市、区科协联合开展科普大篷车进... 2026.5.11 近日,兰州市科协与城关区科协科普大篷车先后联合走进城关区拱星墩小学、文璟学校、甘...
科技保险从有保障迈向高质量 从人形机器人到人工智能大模型,从创新药到光电融合芯片……近年来,科技创新领域成果不断涌现。科技创新是...
天舟十号带货!太空光伏炸场,柔... 5 月 11 日,天舟十号货运飞船成功发射,除常规补给外,一件 “黑科技” 货物引爆市场 —— 我国...