细颗粒度 权限系统 理论探索2


细颗粒度 权限系统 理论探索2


如果涉及到对一张表某个数据的权限控制,最后会变成:

(什么约束)下的 (什么施者)  对 (什么约束) 下的 (什么受者) 有 (增、删、改、查) 的操作。

例如:

(等级为2 年龄小于50)的 (招商人员) 对 (价格小于10 审批通过)的 (鞋子) 有 (查询) 操作。

这个就是一个最细颗粒度的权限系统模型。

这个就会同业务逻辑绑定,最后演变成为读取权限表,组建sql作为输入sql的约束部分。

这让我想起了我同学做的权限系统,权限表里面最好直接保存了sql。

可见,这种思路由于太通用,导致操作非常复杂,管理非常复杂(上百个单据,上百个属性的排列组合,配权限都会死人的)。所以细颗粒度权限系统不被提倡,除非针对某个行业某个领域。

细颗粒度权限系统的通用化

那么什么颗粒度的权限系统是合适的呢?就是纵观现有的系统,通用的逻辑作为权限,那么是合适的。例如:

如果这张表被权限系统管辖,那么无论在任何情况下,我只能看到我的记录,你只能看到你的记录(不考虑树形架构,上下级)。

这个就是一个通用的逻辑,也是一个细颗粒度控制。

对比粗颗粒度的权限系统

粗颗粒度的权限系统只考虑这个动作是否有权限,例如下订单。其他的例如下定单中我能看什么订单、我能控制什么商品是不受权限系统控制的。因为是业务逻辑。。。。
posted @ 2007-10-13 01:06    阅读(1543)  评论(6编辑  收藏  举报
IT民工