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

第12章 菜单权限项设置

2010-05-10 18:25  通用C#系统架构  阅读(2810)  评论(0编辑  收藏  举报

以不变应万变、不管上几个信息系统、不管有多少个权限定义,都可以用一个工具来配置管理,还是超级棒的。权限定义主要有菜单权限 + 操作权限 + 数据权限 为主,特殊的业务规则权限等认为不是通用的部分,写在业务逻辑里,这个工具只配置通用的权限定义。就像数据库也不能满足所有的需求、通用的需求满足后、其他个性化的需求需要自己进行二次开发。

操作权限配置管理模块是本系统的核心模块,在此模块里进行操作权限的定义、配置、分类、管理等维护工作,可以在本模块进行操作权限添加、修改、删除、拖动、停用操作权限等功能,进入本模块的菜单如下图。 

 

12-1 菜单权限项设置

 

  以不变应万变、不管上几个信息系统、不管有多少个权限定义,都可以用一个工具来配置管理,还是超级棒的。权限定义主要有菜单权限 + 操作权限 + 数据权限 为主,特殊的业务规则权限等认为不是通用的部分,写在业务逻辑里,这个工具只配置通用的权限定义。就像数据库也不能满足所有的需求、通用的需求满足后、其他个性化的需求需要自己进行二次开发。 

  以树形结构定义、可以是多系统统一定义、也可以单个系统逐个定义,例如有一个庞大的系统有1000个权限项目也是正常的,都可以统一集中管理维护,统一配置维护。若单独登录到其中某个子系统时可以用分类编号过滤数据,只获取某个子系统涉及的菜单部分。

 

12-2 菜单权限项设置  

 

  每一个权限定义,可以有独立编号、提供API接口判断权限用。有严格的安全级别定义、不能跨越安全级别限制,谁修改的、什么时间修改的,都有明确的记录。公开的意思是开放不需要配置权限大家都有这个权限的意思,可以简化授权,不开放的权限需要明确设置哪个用户哪个角色有这个权限项。

  把菜单、操作权限、数据权限,都可以在这里进行统一定义,可以灵活定义控制权限。

12-3 编辑权限项

 

可以在本窗体中集中管理操作权限、只有系统管理员能有相应的操作权限、操作权限的编号不能重复,在整个系统里需要有唯一性,名称可以重复,操作权限可以任意分类,支持自由拖动整理。

在前期设计、开发设计阶段,往往权限设计反复推敲、推到、重新设计、昨天刚设置了某一权限、今天又觉得不合理,应该推倒,后天又觉得应该与哪个权限和并才对,没过几天有觉得这个权限又有需要分开来才对,经过反复的不断推倒重来,反复重新设计整理推敲过程才能最终形成比较合理的权限规划方案,这个反复折腾的过程要求权限规划管理模块要有非常灵活的操作性,能经得起客户的反反复复,快速有效的适应客户的整体调整才可以,此权限管理也是经历了多个实际项目的多次实践、不断完善总结出来的结晶部分。

列的访问权限,其实也是属于一种操作权限,决绝访问某些数据也是属于操作权限的一种范畴,例如一个权限就叫“访问A表的C1列权限、访问A表的C2列权限”就可以了,没必要设计得过于复杂,例如建立一个“拒绝访问A表”的权限,谁拥有这个权限,就不允许访问A表就可以了。

         数据集权限是表示拥有某个权限,但是这个权限需要区分数据的作用范围,虽然这个账户有管理权限但是只能管理AB部门的数据,不能管理CD部门的数据等,本系统的数据集权限,主要是用组织机构数据进行过滤,提供多种可二次开发的接口功能,达到按客户的实际情况进行个性化的数据过滤的要求,并不是所有的权限都能设置数据集权限,只有这个权限被设定为是数据集权限,才可以设置相应的过滤条件,数据集权限设置参考下图。

 

  谁可以有某个权限?谁可以分配某个权限?除超级管理员外,都需要严格设置授权范围,拥有某个权限未必代表可以把这个权限分配给别人。安全级别是用来严格显示分配权限的等级是否符号设定,也不是所有的权限都可以随意进行分配,必须要符合安全等级限制的。

图12-4 菜单权限项设置 

 

  谁可以有这个权限的参考设置界面。 

 

12-5 权限设置 

  谁有权限分配某个权限的设置、可以设置哪个角色、哪个用户可以设置这个权限。 

 12-6 数据权限设置

  

操作权限关联模块菜单的主要用意是:当前的用户账户已经拥有了某个权限,那有这个权限的用户账户又允许访问那些菜单模块呢?是否可以自动进行关联关系设置,不需要重复进行模块访问权限?主要是为了解决以上的智能关联问题,将权限与模块进行了关联设置。

操作权限于模块菜单之间设置了关联关系,就表示有了某个操作权限后,自然可以访问某些菜单模块了,不需要进行单独的模块访菜单的访问权限了,这样可以题搞整个系统的智能逻辑关联关系,使得分配权限更加合理、简介高效。

 

一个软件系统有设计成本、开发成本、成熟完善的漫长过程、劳动成果能重复利用,能用一套后台管理工具可以管理公司内部的所有自主开发的信息系统是理想状态,否则大公司里有几十套系统,需要很多的配套的维护管理配置人员也是很头疼的事情,系统多了会严重制约公司的高速发展,会成为公司发展的绊脚石、而且安全漏洞也多,到处是信息安全问题,修补不过来。 

满足单个系统、单个公司的权限配置管理实现时很容易,但是满足多个子系统、多公司同时可以使用的信息系统时就比较难了。天下没有理想的系统、只是大目标大方针是这个趋势就很ok了。尽量可以用统一的配置管理工具能维护就很好了。管理配置工具可以是cs的,也可以是bs的,有完善的api接口调用,任何开发语言都可以灵活调用使用就很方便了。

 

 

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

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

 

 

  

 

 



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


微信扫一扫加好友