分享两个权限设计的亮点

权限在各种业务应该是很常见的了,资料也有很多,但对于使用者来说,为了避坑,还是需要先了解下。
先看看权限设计的万能思路:

在这里插入图片描述

设计原理遵循三原则:who、what、how,这个就不多说了。
最近在使用一个开源的项目,其数据权限模块设计全面,挺好用的,有两个亮点值得学习:

  • 1.上下级之间使用一张表,比如用户表,如果用户之间也分上下级,不要分表,只要是用户,都用一张表,加parent_id字段标识即可。当然如果用户还跟部门、公司联系,那部门也是新的数据,需要另加新表,而部门本身的上下级也是在一张表内,灵活性比两张表要好。

  • 2.这是最牛的一点,我还从未见过这种操作,看上图的设计,最后一个数据操作。什么是权限,就是对数据的控制,数据怎么控制的,一般通过增删查改操作的,也就是页面上常见的按钮、链接、搜索框。所以这张操作表,是一种对数据的粒度控制(操作表这里严格还区分操作类型表、操作行为表,比如操作类型“状态”,操作行为就可以用“0”,“1”,“2”…代表各种状态,想细致到哪个地步就细致到哪个地步)。而数据操作表,如何把数据和操作结合,这点是最厉害的,直接用sql语句拆段存储进数据库,很好做到数据的控制!看下图:

在这里插入图片描述

仔细一想也是这个道理,对数据的控制最终会转为在数据库对数据的控制,把sql控制存住数据库表的字段里面,前端页面就可以自由配置,理论上无限上下级,无限细致,无限自动!

第一次见到这种操作,学到了。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值