权限管理、用户权限系统、开源用户权限系统、信息化建设标准基础数据管理平台
代码改变世界

第5章 角色权限设置

2010-05-11 15:56  通用C#系统架构  阅读(4053)  评论(2编辑  收藏  举报

基于角色的授权管理是最基本的权限管控体系,安全可控有多少重要?例如公司市值有500亿财富,但是信息系统不安全不可控,可能一夜之间就被黑客都转账走、被坏人转走了哭都来不及了。穷等叮当响想的时候买保险不是很重要,但是真有了绝大财富后安全可控比什么都重要,庞大核心信息系统的安全可控尤为重要,一定要用一个强大可靠的工具来管控起来。

此功能模块可以灵活设置整个系统内的角色/用户组信息,可以进行对角色的添加、修改、删除、分配权限的操作,可以灵活设置某个角色中包含的用户(账户)等。

角色:类似岗位定义、主要是为了系统分配权限、定义工作流程中设置审批节点,提高多用户(账户)的权限分配效率、减少用于账户的变动引起的重复设置权限的工作量等。

用户组:临时性的用户组或由系统用户创建的用户组,可以自由定义,可以定位为自己管理自己所创建的用户组、目前系统里已经淡化这个功能。

 

全局角色不是谁想建立就可以建立的、需要严格审核后才可以建立、是给全集团使用的、各种授权、各种严格规划下才可以建立的角色。全局角色越严格,越规范、梳理得越规范,越全面,岗位分工都需要仔细梳理,这样全集团的业务系统授权体系就越来越完整,越来越严谨,越来越经得起考验,经得起人员变动,经得起各种折腾了。

哪个人允许加入哪个角色、谁允许的、谁批准的、跟工作岗位是否匹配的,都是超级严格把控,需要每个季度,都进行权限审核校验的,需要把权限都列出来,给对应的管理部门领导需要进行什么批准的。这样整个公司的授权体系才是超级严谨的、完全可控的。

 

测试子系统需要有独立的操作能力,能灵活配置权限,灵活建设角色,灵活进行测试,对独立部署的测试系统,不进行任何限制,互相不干扰,数据保持完全独立。 

 

  此功能模块主要是为了解决如下几个问题:

01:一个庞大的上市公司,全国各地可能有1000个以上分公司,10000个以上加盟店,几十万从业人员。

02:由于每个分公司规模不一样,性质不一样,每个人的岗位职责也不一样,小公司里一个人可能担任很多角色,大公司里每个人负责很小的一部分,对权限的划分颗粒度是不一样的,需要非常灵活。

03:每个级别的权限也不一样,总部有总部的权限,省里有省里的权限,市里有市里可分配的权限,分公司也有分公司的可分配权限,这些权限是绝对不可以越级,更不可以紊乱的。

04:每个级别都可以逐级分配权限,一个级别限制另外一个级别,授权范围、等级都受到严格控制。

05:每个分公司都可以独立管理配置自己所属的权限,在自己可授予的权限范围内,灵活分配权限,上一级的管理也可以进行管控。

06:哪个角色可以管理哪个角色也可以允许系统里设置、权限大的角色可以管理权限小的角色,可以灵活管控其他角色,进行授权。

07:需要能有完整的授权日志可以提供安全审计,哪个公司的谁在什么时间给谁授予了什么权限等等、变更了什么权限数据等。

08:可以支持多系统的分割独立管理,例如 主业务系统,测试系统,某某财务核心子系统等等,也可以支持集中统一管理单个庞大的系统结构,并不是所有子系统都可以每个人都能访问到。

09:数据有变更可以及时同步到其他系统里,例如备份系统,测试系统里,数据的最新变更时间都需要能有记录,数据库管理员可以手动同步、也可以用接口的方式提供拉取数据的模式进行同步。

10:系统里不存在真的删除数据这个事情,所有操作都是可逆的,都有挽救的余地,可以恢复原样的补救措施、不允许有任何数据丢失情况发生。

11:有快速的权限数据导入导出功能,提供各种会议讨论、审计审核用,紧急备份用。

12:上级管理员要能管控自己所属下级的角色、用户权限等等。

13:总部的管控人员也是紧张的,可能有2-3个人参与管理就很不错了,所以并没有充足的人手、最好是越简单越好用就ok,否则操作配置都忙不过来了,还有很多其他事情需要处理。

14:有些技术支持人员只能看数据、核对数据、但是不允许设置数据,只读模式检查权限设置数据。

15:数据结构简洁清晰、后续维护简单高效。

16:操作几十万账户、上千万的配置数据,需要有良好的性能效率,操作平滑不要有各种卡顿等。

17:设计的原型没有安全漏洞,把一些黑客攻击等减少到最低程度,数据安全有一定的保障。

 

 

5-1 角色权限设置菜单

 

在查询内容中输入需要查询的信息系统会根据输入的查询信息显示相关的角色信息,添加的角色编号、名称不能重复,超级管理员角色不能被删除、不能被更改,是系统默认的角色,角色可以进行排序工作、停用设置、删除、导出等等。

可以在管理页面上,对权限所拥有的权限进行灵活配置,同时也可以那个角色里有那些用户(账户)等,都可以进行灵活的配置。

只能给角色设置权限,也可以采取不能给用户设置权限、把用户权限管理菜单隐藏就可以了。 

可以通过界面上的导出快速备份数据、对数据进行分发、讨论、审计等等,也可以通过导入功能快速恢复数据。删除数据为伪删除,只是给数据打上删除标志,数据库管理员还可以把数据恢复过来。

可以按角色分类进行过滤数据、可以按业务系统区分是哪个业务子系统的角色,可以进行分离、隔离管理,分分合合、合合分分、合理划分系统的性能也高一些,管理上会带来一些麻烦。

多人维护数据时、谁什么时间改了什么数据,谁建立的角色、一清二楚、责任分得清楚、总共有多少个角色等等,数据是否有变化等很清晰的。

 

5-2 角色权限设置界面

 

角色添加效果如下图,可以设置角色是否有效(停用)标志,不建议删除角色,添加、编辑时角色编号、名称都不允许重复,角色名称是必输项,由于系统里建立的角色很多时可以按分类快速过滤数据、角色安全级别是限制角色的等级用的,低安全级别的用户是不允许创建高安全级别的角色、也不允许加入高安全级别的角色里的。用角色安全级别,用户安全级别限制一下系统的权限可以有效控制权限的越级问题,可以显著强化系统的安全性,授权操作的规范性。
  

创建角色时同时可以把自己所属公司的用户添加上来操作一体。也可以通过复制粘贴功能,把用户直接复制过来,进行粘贴就高效添加用户成员。在系统初始化时效率非常高、大规模用户操作时效率也很高,有复制粘贴功能时。安全级别、角色分类都可以在系统里进行定义,可以更多类别,也可以更多安全级别或者更少等等,可以按各自企业的要求进行合理调整。 

 

5-3 添加角色界面

 

  角色权限设置时,可以有复制粘贴权限的功能,把另外一个角色的权限复制过来也可以快速粘贴,当前操作人员的安全级别与允许设置的角色的权限级别相关,不能超越安全级别设置。可以配置的权限列表也是被限制的权限列表和安全级别匹配才可以,哪怕是有历史设置错误记录也可以经得起审计出错误设置清单来,绝对不允许有超越安全级别的设定,这样可以有效保证权限的管控。

 

   角色的权限级别、菜单的安全级别、当前操作人员的安全级别、只可以设置自己所属的角色的权限。可以快速导出当前角色的权限设置供讨论、供权限审计,谁什么时间修改了权限配置都需要记录详细。对每个权限项目都可以设置一个编号、名称、安全级别、公开、url地址等等,可以灵活定义N个权限,可以树形结构归类划分好。

5-4角色模块菜单权限设置界面

 

  角色成员都有哪个公司的谁?什么时间加入的,谁授权操作的,若有审核也可以记录是谁审核确认的,有完整的操作清单,每个公司可以管自己公司及自己下属公司,是否允许管理下属公司也可以设置权限控制为只能管自己所在的公司等等,也可以快速批量复制粘贴,对系统初始化时操作会效率更高,可以快速设置完毕大规模信息系统。 默认情况下只能管理自己公司的成员,无权限操作其他公司的成员。

 

5-5角色成员管理界面

 

  角色也有管理和被管理的说法,哪个角色可以管理哪个角色的成员,每个角色的权限范围也不一样,也不能大家进入了后都能管理所有角色也不对,自己创建的角色可以自己管理、允许授权的角色可以管理,网点管理员可以管理本网点的所有角色、总部管理员可以管理所有系统里的角色权限设置。这样权限也可以得到明确的限制、权限也不会越级、也不会凌乱,各司其职。

  例如有一个角色有权限审批500万的费用、甚至还有一些商业机密信息可以看,可以改等,若所有人都可以乱配置乱管理了,企业很容易就乱套了,很多机密信息也泄露了,流程审批也可能乱套了。

 图5-6角色数据权限设置界面 

  大家都为了更好的生活、开发人员流动性也大、项目管理人员变动大、信息系统也需要不断完善重构、有个安全可靠、经得起考验,经得起审计的核心权限授权体系,也是大型信息化的根本。上市需要审计、安全评定需要通过,做一个一劳永逸的铜墙铁壁的权限配置管理核心组件还是很有意义。

 

  不需要重复制造轮子,人来人走,就这一套数据、就这一套管理配置工具、安全可靠,性能稳定,不用测试,不用改bug,不用怀疑,不用各种调试,直接配置管理好用用就ok了。知道得越多做出一个好组件就越累,因为需要满足各种各样的需求,不合理的需求需要驳倒、需要说服、需要真正的几十万人在使用的环境里经得起考验、时间的沉淀、操作友善度的沉淀、配置效率、安全检查的考验,一个真正能拿得出的组件是很昂贵的,需要很多年的静心沉淀、付出很多心血劳动。

 

一步步教你如何用疯狂.NET架构中的通用权限系统 -- 如何控制用户显示的菜单权限
一步步教你如何用疯狂.NET架构中的通用权限系统 -- 在页面中的调用权限讲解
一步步教你如何用疯狂.NET架构中的通用权限系统 -- 数据集权限的调用权限讲解
一步步教你如何用疯狂.NET架构中的通用权限系统 -- 分级管理
一步步教你如何用疯狂.NET架构中的通用权限系统 -- 分级授权

疯狂.NET 通用权限设计 C\S后台管理,B\S前台调用源码样例程序源码下载之 --- 操作权限
疯狂.NET 通用权限设计 C\S后台管理,B\S前台调用源码样例程序源码下载之 --- 角色权限

疯狂.NET 通用权限设计 C\S后台管理,B\S前台调用源码样例程序源码下载之 --- 数据集权限

 

 

  

 



C# ASP.NET 通用权限设计、通用权限管理、通用权限组件、单点登录、集中式权限管理、统一授权体系、分级管理分级授权


微信扫一扫加好友