基于层次结构的权限处理系统的制作方法

文档序号:6555550阅读:315来源:国知局
专利名称:基于层次结构的权限处理系统的制作方法
技术领域
本发明涉及计算机系统设计中的权限系统,特别是涉及基于层次结构的权限处理系统。
背景技术
每一个成熟的软件系统,权限管理是必不可少的。虽然权限应用很广,但只是作为其他系统的附属系统,所以对这个部分的重视程度不高,导致系统制作完成以后,升级和管理都极其复杂,导致整个系统运行效率低下,重构极其复杂。严重影响用户软件操作熟练程度,增加管理人员工作量;并且权限控制粒度不够细,只能控制到页面级,没有进行层次分类,管理不方便。

发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供涉及基于层次结构的权限处理系统。
本发明的目的可以通过以下技术方案来实现基于层次结构的权限处理系统,其特征在于,包括模块部分、角色部分、用户部分,权限判断部分,该系统通过模块部分添加模块,并通过功能列表给相应的模块设置相应的功能;该系统通过角色部分添加角色,并给相应的角色设置相应模块的相应功能的操作权限;该系统通过用户部分添加用户,并给相应用户设置相应角色;所述的权限判断部分通过角色将用户和模块的功能的操作权限关联起来。
所述的权限判断部分获取用户对应的所有角色对应的模块权限,如果没有用户和模块的关系数据,则该用户没有操作权限,如果有数据,则这进一步根据用户的操作方式,找到对应的该操作方式的数据,如果有任何一个角色对应的操作数据为一,则该用户有该操作方式的操作权限,否则没有。
所述的模块部分只有一个根模块,其他的模块代码都是这个根模块的子模块,所有的模块一起构成一个多层的树型结构;根节点的父结点代码为零;任何一个有子节点的节点都不能成为一个带功能的模块节点;任何一个带功能的模块结点也不能成为其他节点的父结点;所有的节点都不会真的删除,只是会标志删除;删除某个模块某项功能,相应的与这个模块有关系的角色的这个功能操作权限都会被删除。
所述的角色部分只有一个根角色,其他的角色都是这个根角色的子角色,所有的角色一起构成一个多层的树型结构;根节点的父结点代码为零;任何一个有子节点的角色都不能成为一个有模块操作权限的角色节点;任何一个模块功能操作权限的角色结点也不能成为其他节点的父结点;所有的节点都不会真的删除,只是会标志删除。
所述的模块具有一个唯一的代码标志,并具有一个VARCHAR类型的功能字段,该字段的每一位对应功能列表中的相应功能。
所述的角色具有一个唯一的代码标志,并具有一个VARCHAR类型的功能权限字段。
所述的角色选择模块,并选择相应的功能。
所述的用户可以有一个或多个角色,该用户具有所有对应角色的权限;所述的用户选择角色。
与现有技术相比,本发明粒度更细,可以控制到每一步操作;可定制性高上由于可进行层次结构分类,使得用户可以根据自己的需要和习惯来组织结构,用户操作起来更加方便;减少耦合度,引入角色,使功能模块的操作权限不直接和用户相关,只给角色授权,用户拥有相应的角色;降低了系统操作和管理的复杂度,使系统升级更加方便;程序制作人员在重构系统时,能够经量少的修改代码,达到新的需求。


图1为本发明的结构图;图2为本发明的总体结构图;图3为本发明的逻辑关系图;图4为本发明的角色和模块关系图;
图5为本发明的用户和角色关系图;图6为本发明的权限判断部分的原理框图。
具体实施例方式
下面结合附图对本发明作进一步说明。
如图1~图6所示本实施例分为两个大的模块,一个是权限的规则制订,一个是这些规则的应用。
A、模块管理添加模块,并给相应的模块设置相应的功能。
B、角色管理添加角色,比给相应的角色设置某些模块的相应的操作权限。
C、用户管理添加用户,并给用户设置角色。
各个程序的关系见图2A、DataBase存放角色,模块以及用户信息。
B、角色和模块的权限设置授权给角色模块功能的操作权限。
C、用户与角色的关系的设置给用户分配相应的角色。
D、用户与模块的关系的提取通过角色将用户和模块功能的操作权限关联起来。
E、判断用户与模块的关系给与用户相应的模块操作权限。
F、其他的添加基础数据到数据库中。
系统的总体逻辑如图3,系统的搭建 模块—>角色—>用户A、添加模块,设置模块的操作方式,每个模块都有一个唯一的代码标志。
B、添加角色,给角色授权,角色模块关系设置,每个角色都有一个唯一的代码标志。
C、添加用户,给用户赋予角色,用户角色关系设置。
D、用户的权限,通过角色关联出用户和模块之间的关系。
E、用户权限的判断,获取用户所有角色对应的模块权限,如果没有用户和模块的关系数据,则该用户没有操作权限,如果有数据,则这进一步根据用户的操作方式,找到对应的该操作方式的数据,如果有任何一个角色对应的操作数据为一,则该用户有该操作方式的操作权限,否则没有。
模块管理A、整个系统只有一个根模块,其他的模块代码都是这个根模块的子模块,所有的模块一起构成一个多层的树型结构。
B、根节点的父结点代码为0。
C、任何一个有子节点的节点都不能成为一个带功能的模块节点;任何一个带功能的模块结点也不能成为其他节点的父结点。
D、所有的节点都不会真的删除,只是会标志删除。
E、删除某个模块某项功能,相应的与这个模块有关系的角色的这个功能操作权限都会被删除。
角色管理A、这里的角色管理可以这样理解对于没有模块操作权限的角色,可以理解成为部门,或者某一个组织。有模块操作权限的角色才是真正意义上的角色B、整个系统只有一个根角色,其他的角色都是这个根角色的子角色,所有的角色一起构成一个多层的树型结构。
C、根节点的父结点代码为0。
D、任何一个有子节点的角色都不能成为一个有模块操作权限的角色节点;任何一个模块功能操作权限的角色结点也不能成为其他节点的父结点。
E、所有的节点都不会真的删除,只是会标志删除。
角色与模块关系设置各主模块之间的逻辑关系如图4A、在模块表中,有个字段标明该模块的功能,该字段是一个VARCHAR类型(每位都是0或1)。每一位的位置对应功能类列表表中的某一项功能,0表示没有,1表示有。
B、在角色模块关系表中,也有一个字段标明功能权限的模块。该字段是和模块表中的模块功能字段一样的,但是只有模块表中有的功能,在相应的角色模块表中才可能有,或没有相应的功能C、角色选择模块,并选择相应的功能。
用户管理角色与用户关系设置各主模块之间的逻辑关系如图5A、每个用户都可以有一个或N个角色,在判断的时候任何一个角色有的权限,该用户就有。
B、用户选择角色。
权利要求
1.基于层次结构的权限处理系统,其特征在于,包括模块部分、角色部分、用户部分,权限判断部分,该系统通过模块部分添加模块,并通过功能列表给相应的模块设置相应的功能;该系统通过角色部分添加角色,并给相应的角色设置相应模块的相应功能的操作权限;该系统通过用户部分添加用户,并给相应用户设置相应角色;所述的权限判断部分通过角色将用户和模块的功能的操作权限关联起来。
2.根据权利要求1所述的基于层次结构的权限处理系统,其特征在于,所述的权限判断部分获取用户对应的所有角色对应的模块权限,如果没有用户和模块的关系数据,则该用户没有操作权限,如果有数据,则这进一步根据用户的操作方式,找到对应的该操作方式的数据,如果有任何一个角色对应的操作数据为一,则该用户有该操作方式的操作权限,否则没有。
3.根据权利要求1所述的基于层次结构的权限处理系统,其特征在于,所述的模块部分只有一个根模块,其他的模块代码都是这个根模块的子模块,所有的模块一起构成一个多层的树型结构;根节点的父结点代码为零;任何一个有子节点的节点都不能成为一个带功能的模块节点;任何一个带功能的模块结点也不能成为其他节点的父结点;所有的节点都不会真的删除,只是会标志删除;删除某个模块某项功能,相应的与这个模块有关系的角色的这个功能操作权限都会被删除。
4.根据权利要求1所述的基于层次结构的权限处理系统,其特征在于,所述的角色部分只有一个根角色,其他的角色都是这个根角色的子角色,所有的角色一起构成一个多层的树型结构;根节点的父结点代码为零;任何一个有子节点的角色都不能成为一个有模块操作权限的角色节点;任何一个模块功能操作权限的角色结点也不能成为其他节点的父结点;所有的节点都不会真的删除,只是会标志删除。
5.根据权利要求1所述的基于层次结构的权限处理系统,其特征在于,所述的模块具有一个唯一的代码标志,并具有一个VARCHAR类型的功能字段,该字段的每一位对应功能列表中的相应功能。
6.根据权利要求1所述的基于层次结构的权限处理系统,其特征在于,所述的角色具有一个唯一的代码标志,并具有一个VARCHAR类型的功能权限字段。
7.根据根据权利要求6所述的基于层次结构的权限处理系统,其特征在于,所述的角色选择模块,并选择相应的功能。
8.根据权利要求1所述的基于层次结构的权限处理系统,其特征在于,所述的用户可以有一个或多个角色,该用户具有所有对应角色的权限;所述的用户选择角色。
全文摘要
本发明涉及基于层次结构的权限处理系统,包括模块部分、角色部分、用户部分,权限部分,该系统通过模块部分添加模块,并通过功能列表给相应的模块设置相应的功能;该系统通过角色部分添加角色,并给相应的角色设置相应模块的相应功能的操作权限;该系统通过用户部分添加用户,并给相应用户设置相应角色;所述的权限部分通过角色将用户和模块的功能的操作权限关联起来。与现有技术相比,本发明具有粒度细、可定制性高、耦合度少等优点。
文档编号G06F17/30GK101093524SQ200610028060
公开日2007年12月26日 申请日期2006年6月22日 优先权日2006年6月22日
发明者陈海华, 金骏 申请人:上海新纳广告传媒有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1