首页 > 其他分享 >【水文】角色权限设计

【水文】角色权限设计

时间:2023-04-14 22:33:49浏览次数:54  
标签:varchar 角色 int ID 部门 水文 权限 id

参考

备注

本文章思考字段权限的实现,仅仅思考了简单的功能权限与数据权限的实现,建议具体参考上面的引用链接进行学习。

表结构定义

users、rules、roles、user_join_roles 表实现功能权限管理
users、departments、jobs 表实现数据权限管理

  1. users 用户表
字段名 类型 注释
id int ID
name varchar 昵称
age tinyint 年龄
department_id int 所属部门ID
job_id int 所属职务ID
address varchar 地址(涉及隐私,普通员工禁止查看)
created_at datetime 创建时间
  1. departments 部门表
字段名 类型 注释
id int ID
name varchar 部门名称
department_id int 所属部门ID
created_at datetime 创建时间
  1. jobs 职务表
字段名 类型 注释
id int ID
name varchar 职务名称
data_auth tinyint 数据权限(1.本人,2.本部门和本人,3.本部门、同级部门和本人),4.本部门、本人和本部门下所属部门,5. 本部门、本人、同级部门下属部门和本部门下所属部门,6.全部数据
created_at datetime 创建时间
  1. rules 规则表
字段名 类型 注释
id int ID
name varchar 规则名称
url varchar 接口地址
request_type varchar 请求类型
unique_id varchar 接口唯一ID(unique_id与id好像冲突了,因为id就是唯一的)
rule_id int 所属规则ID
paramers varchar 字段权限?但是有些接口字段包含关联,所以字段需要再思考下,可以至设置子节点所属父节点的权限字段,子节点自动继承,就实现了字段权限的管理。
created_at datetime 创建时间
  1. roles 角色表
字段名 类型 注释
id int ID
name varchar 角色名称
rule_ids varchar 规则ID列表
created_at datetime 创建时间
  1. user_join_roles 用户关联角色表
字段名 类型 注释
id int ID
user_id int 用户ID
role_id int 角色ID
created_at datetime 创建时间

功能解释

权限: 功能权限、数据权限。

功能权限 (如RBAC)

根据接口去设置权限,如有一个用户接口,那么用户接口包含显示、增加、删除、

数据权限

数据范围:仅本人数据、本人所属部门数据、本人同级部门数据、本人所属部门与部门下属部门的数据、全部数据。
数据字段:HR能查看人员列表中包括职级、薪资等字段,其它角色仅能查看姓名邮箱等字段。

标签:varchar,角色,int,ID,部门,水文,权限,id
From: https://www.cnblogs.com/xiaqiuchu/p/17320153.html

相关文章

  • Git 分支操作,没有master合并权限
    1,克隆代码,略过。。2,  vs里面Git更改,然后右上角三个点,再里面新建自己的本地分支。3,切换到你自己的分支,然后推送一次,远程服务器会自动新建你的远程分支。4,自己本地分支上面,正常修改代码,然后提交,先不要推送。 5,切换到master分支 拉取    6,再切换到自己本地分......
  • 如何解决更新WordPress需要访问您网页服务器的权限
    今天更新wordpress版本时网站后台提示“要执行请求的操作,WordPress需要访问您网页服务器的权限”,更新插件也提示,更新主题也提示。后来百度查询了一下,找到了解决办法,只需要找到wp-config.php这个文件,在最后面加上如下代码就能解决问题,至于是什么原因造成的并不清楚。define(“FS_......
  • 水文站点位置信息获取
    setp1下载json文件打开全国雨水情站点位置查询网地址为:http://xxfb.mwr.cn/hydroSearch/mapSearch将该网址下载为.json文件setp2将json文件转为excel表格利用在线工具转换下载即可,例如在线json转excel工具处理好的excel文件如果不想自己做,也可以直接下载处理好......
  • Ubuntu和Centos设备出厂后添加给普通用户docker权限
    Ubuntu#查看用户组group#将当前普通用户加入docker用户组,执行命令:sudousermod-aGdocker{用户账号}#如果提示Usingdefaulttag:latestGotpermissiondeniedwhiletryingtoconnecttotheDockerdaemonsocketatunix:///var/run/docker.sock:Post"http://%2F......
  • 如何设计角色属性组件
    目标&背景本篇文章是对ET1中NumericComponent的介绍和补充,会围绕实际开发过程中可能会碰到的一些问题,给一个解题思路,并且会结合Luban2给出一个策划和程序都开心的方案猫大曾经对NumericComponent做出过如下评论单NumericComponent就可以完成80%Moba类游戏的设......
  • 52 openEuler搭建PostgreSQL数据库服务器-管理数据库角色
    52openEuler搭建PostgreSQL数据库服务器-管理数据库角色52.1创建角色可以使用CREATEROLE语句或createuser来创建角色。createuser是对CREATEROLE命令的封装,需要在shell界面执行,而不是在数据库界面。CREATEROLErolename[[WITH]option[...]];createuserrolename......
  • Salesforce Admin管理员中文学习教程_如何高效筛选出具有Admin权限的用户!
    组织中最常见的错误之一就是拥有太多具有系统管理员简档的用户。不幸的是,这在某些行业中非常普遍。实际上这存在着很大的潜在风险。拥有这些权限的用户可能会暴露、窃取或删除组织中的数据,甚至影响到其他用户。防止过多的管理员访问权限是保护Salesforce组织的第一步。但是,仅将......
  • 虚拟机权限赋予
    sudochmod777untitled.sh给untitled.sh赋予所有权限(读写执行)./untitled.sh执行此可执行文件我们在Linux中经常设置文件夹或文件的权限,使用chmod777,而后面777表示的就是权限,仅仅三个数字就表示了三种角色的三种权限,我们逐个进行解释。二进制位三个数字,我们需要拆开......
  • Android 短视频和图片无读写权限TargetApi>=29解决方案
    一、背景        目前很多公司在适配API29,也就是targetSdkVersion=29的权限适配。不仅是权限的适配,还有政策的要求。目前就有很多大公司已收到工信部要求,不给读写权限:android.permission.WRITE_EXTERNAL_STORAGE和android.permission.READ_EXTERNAL_STORAGE      ......
  • Linux的3种特殊权限场景实战:SUID、SGID、SBIT
    3种特殊权限在Linux系统中,有3种特殊权限,它们分别是Setuid(SUID)、Setgid(SGID)和StickyBit。Setuid权限:通过Setuid权限,普通用户可以在执行某些特定程序时,拥有与程序所有者相同的权限。也就是说,该程序在执行时,会自动获取其所有者的权限,而不是执行者的权限。这通常用于一些需要r......