banq与flesharcher在权限中论group与role的回帖


banq
千万不要把group和role混淆在一起

为什么会诞生RBAC?因为以往大家都是把用户和权限混淆在一起,这样当用户或权限变动时,都会涉及到对方,很显然这在实际中是非常复杂的,所以诞生RBAC,创造一个角色名词,注意这是人为创造的语义词,角色就是用户和权限之间的第三者,通过引入角色概念,将用户和权限的关系解耦,这样用户的变化只要涉及到角色就可以,无需考虑权限,而权限的变化只涉及到角色,无需考虑用户或用户组。

flesharcher
因为在前面两个帖子里有提到主管要能够直接的看拥有看到下属一些文件--如工作小结等,如果直接把GROUP或者ROLE对应到权限上都会对这样的实现感到困难。

我现在有这样一个想法,就是参照公司结构的模型来定义权限的分配方法。

就是把GROUP对应到公司里的部门,ROLE对应到部门里的职位,而权限将对应于一对GROUP和ROLE的组合。

上面是我摘自论坛的两个回帖,按照banq大哥的说法,完全体现不出group在权限方面的用处,那么要group有什么用呢,个人的想法与flesharcher的一致,请各位赐教...
[该贴被admin于2009-04-21 11:34修改过]

在于对group本身定义,有的将group和role混为一起;group应该是一种分类方法,User Role 都可以分组。这属于文件和目录关系。

group适用于共享资源,是资源的少数的特殊情况的分配;role是批量的正常情况的分配。2者关系我觉得 win os 下的用户组和角色是最后的参考。

我最近要做ERP。除了用SAP权限控制外,我在思考用什么比较合适。首先,我需要把软件卖给不同的商家,所以会给不同的商家不同的模块控制权限,同时,A商家的数据不能被B商家浏览,所有我有了建立群组的想法,公司group,然后再部门group,然后再ROLE,然后再权限。role肯定是要的,因为都是小公司,所有省去了部门group,对应公司group和role去取权限。