最近要开发ERP,有人提出全线设计模块去掉角色,大家觉得合理么?

解决方案 »

  1.   

    这是个策略问题并非技术问题,也就是说有没有角色都不存在技术上的问题...问题是在复杂的安全策略中,RBAC早已用实践证明了其先进性和更低的管理成本...当然如果你的安全策略够简单并且不考虑未来的麻烦,完全可以不搞什么角色...
      

  2.   

    偷工减料的作法而已。Adige 更麻烦,角色、用户组都有。设置到你发疯。
      

  3.   

    其实我们可以用“谁可以在夜间进入公司大门”做个比喻。许多软件开发者单纯地背下来“角色”这个概念,特别是windows桌面系统的角色概念,简单地将每一个成员设置分配到几个角色,这就好比你给公司的门禁系统设置“凡是经理都可以进门”,结果不但你的经理可以进门,连楼下我们经常去的饭馆的承包人也可以进门了,因为我们确实也知道他是饭馆经理。许多类似的“教程”都是这样简化地讲解的。它设置几个角色,比如其中包括“经理”这个角色,然后设置几个操作菜单或者页面的部分,然后要求用户去在一个角色与操作的正交矩阵中去设置。这就是许多人认为角色不好的原因:因为稍微复杂的系统,用户内部组织机构分成许多层次,操作有上百个,角色也有上百个(考虑到上面说的本公司的经理跟饭馆的经理需要去分成不同角色),于是在一个上万、几十万元素的正交矩阵里去“管理”权限,并且要求用户必须有一个至高无上的权限设置角色去为所有角色维护权限(而不是像群主、版主一样紧紧管理自己管辖范围内的权限)。角色对windows桌面系统管理并非不好。因为他只有“系统管理员、普通用户”等非常少量的角色,而且其权限设置也不是要求你去管理一个矩阵(而是在不同的子系统中分别有一个设置界面)。角色对复杂的应用系统也并不完全不好,但是需要把它看得更加离散一些,要更加抛弃矩阵式的权限管理的框框。回到开头,我们要管理能够夜间进入公司大门的权限,怎么做?很简单,用一把钥匙,或者再加上一张磁卡就行了。那么是不是我们连钥匙都不用了?连磁卡都不用了?只是要求门禁必须去识别每一个人的生物信息?我觉得大多数时候没有必要浪费大笔的钱去购买那么高级的门禁系统,而买一个够用的门禁系统就好了。可见不能随便丢弃一个在操作和成员之间进行授权的、用来简化和过度的工具,也就是不用丢弃角色的基本结构,而是要改变你对角色的用法。将角色管理的整个流程设计为一种非常离散的授权机制,而不是看作矩阵式管理。也就是说,许多时候的角色其实仅仅是“拥有公司大门钥匙”,“拥有公司大门磁卡”的概念,而不是像很多“教程”中所说的那种“经理、秘书、会计主管、出纳”之类的角色概念。比如我打开我的手机,选择一个人员,然后在授权策略中选择“拥有公司大门钥匙”,通过两个选项,然后点击确认,这就授权了。同时,我们也无需为每一个成员制定可进入的位置,而是将这把钥匙授权给成员,他才能进入指定的位置,这其实仍然是典型的角色授权机制没变。要想让授权更方便,不是简单地去掉角色,而是更好地使用角色的问题。