功能级权限与数据级权限

[区分原则] 功能级权限与数据级权限


功能级权限管理,众所周知使用RBAC(基于角色的访问模型)来控制。我建议使用基本RBAC实现权限控制即可,没有必要使用很多复杂的高级的权限模型。复杂的权限模型,一方面解析起来有难度;另一方面用户使用起来难度大,也用不好。

数据级权限管理,我建议大家使用Ralasafe访问控制(数据级权限管理)中间件。Ralasafe使用策略来描述数据级权限,使用图形化方式对策略进行定制管理。一切都是开放的。

在定制策略的时候,尤其是用户分类的时候,基本上所有初学者都把角色概念直接拿进来。直接使用角色来代替用户分类。经过调查发现,他们是这样考虑权限需求的:abc角色的人能查询xyz特征的数据,abc角色的人能操作xyz特征的数据。

起先,我也纳闷。他们的想法怎么和我的不一样的。我感觉到不对,但说不上来不对在那里。后来想清楚了:他们一句话既描述了功能级权限,又描述了数据级权限。我们应该让IT开发商来设置数据级权限;功能级权限则应该上线后,由企业方自行设置。

由此分析,我逐步得出这样的分离原则:

功能级权限用角色来描述;数据级权限,用户分类来描述。

你可能感兴趣的:(功能级权限与数据级权限)