共计 1150 个字符,预计需要花费 3 分钟才能阅读完成。
这篇文章主要讲解了“SQL 权限设置的问题实例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着丸趣 TV 小编的思路慢慢深入,一起来研究和学习“SQL 权限设置的问题实例分析”吧!
第一个是对于一个用户的操作权限,无非就是这四个方面,增删改查。
如果通过字母来标识,可能就是增 (I) 删(D)改 (U) 查(S)
那么一个用户或者表所拥有的权限就可能有 IS,IDUS,IDU 类似这样的组合,其实如此一来会把我们已有的方式打乱,因为 4 个元素的组合,考虑到顺序,其实有很多,比如 2 个连续,3 个连续,顺序不一样。
所以如果使用一个字段来校验区别,采用字符的形式,其实还是很难,很容易出错,比如 ISU, SUI 都代表的是一个含义,但是有多种组合方式。
或者换个思路,如果我使用 4 个字段来区别校验,分别为增删改查,问题似乎会迎刃而解,事实上我们就需要在 4 个字段间进行大量的组合,语句可能会很啰嗦。有的同学想使用类似
(select , insert , delete , update)的形式来校验,但是显而易见,这种方式无法定位边界,比如 select+insert+update 和 select+insert+update+delete 在上面的情况都会正常返回结果。
所以能不能用一个字段来标示这个问题呢,我想了一个。
比如增删改查,按照权重,其实应该是 select,insert,update,delete 这样的权重,如果我们制定为 1,2,3,4 的话,很容易混淆,比如是 4,可能是 1 +3,4 的组合,这样就不好判断到底是拥有哪些权限。
所以我们需要区别对待,借用了人民币的思路。人民币我们知道有 1 元,两元。五元,十元。所以我们按照这个方式来组合就会好很多,权重值为:
select(1)
insert(2)
update(5)
delete(10)
但是实际上权限在业务中是有组合关系的,会有如下的几种组合。
比如
select
insert+select
delete+select
update+select
select+insert+update
select+insert+update+delete
其实组合就这些,按照权重组合就是:
select 1
insert+select 3
delete+select 11
update+select 6
select+insert+update 8
select+insert+update+delete 18
所以我们得到一个数字,就知道它确切的权限了,在做处理的时候就很容易了。
感谢各位的阅读,以上就是“SQL 权限设置的问题实例分析”的内容了,经过本文的学习后,相信大家对 SQL 权限设置的问题实例分析这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是丸趣 TV,丸趣 TV 小编将为大家推送更多相关知识点的文章,欢迎关注!