一种通用型的系统权限管理方法及系统
文献发布时间:2023-06-19 19:04:00
技术领域
本发明涉及权限管理技术领域,具体为一种通用型的系统权限管理方法及系统。
背景技术
权限管理是一种规则。它限制了人们的行动范围,确保了人与人之间不会发生冲突,并使系统能够有序地运行。
现有技术中,对于企业来说,控制和管理员工权利的根本目的是使公司能够有效、高效地运作,具体体现在以下三点:
可以保证员工各司其职,每个人负责不同的内容,互不干扰,从而提高工作效率。每个人负责的工作范围是具体而明确的。不同的人对不同程度的重要性负责。
权限管理系统定义:权限管理系统是权限管理的具象表现形式,主要进行角色管理、用户管理、赋权、用户追溯等工作。角色:角色代表某一类人,不特指某一个人,角色最好采用职位或者抽取人群共性进行命名,比如市场部员工角色、销售部主管角色,便于理解和使用。权限:分为页面权限、操作权限和数据权限。页面权限控制能够看到哪个页面,操作权限控制能够操作页面上的哪些功能按钮等,数据权限则控制你能够看到哪些数据。
但是,目前被大家广泛采用的两种权限模型为:基于角色的访问控制(RBAC)和基于属性的访问控制(ABAC),二者各有优劣:RBAC模型构建起来更加简单,缺点在于无法做到对资源细粒度地授权(都是授权某一类资源而不是授权某一个具体的资源);ABAC模型构建相对比较复杂,学习成本比较高,优点在于细粒度和根据上下文动态执行。
发明内容
本发明的目的在于提供一种通用型的系统权限管理方法及系统,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:一种通用型的系统权限管理方法,所述权限管理方法包括以下步骤:
在模块管理列表根据业务需要创建模块;
定义模块的菜单相关信息;
自定义不同的权限条目;
系统中用户的权限通过角色控制。
优选的,通过定义模块名称,用以区分不用的模块功能,系统设立模块管理列表菜单,在模块管理列表可以根据业务需要创建模块,模块定义时根据业务情况,定义模块标识,用于权限设置时调用,以模块为基础,添加模块所属菜单、定义相关权限、定义所需业务角色。
优选的,在模块管理列表-操作列,点击菜单管理进入菜单定义页面,在此页面定义该模块的菜单相关信息,主要包括菜单code、菜单名称、菜单URL地址、显示排序;
菜单code,用于权限调用,以此控制该菜单的相关权限,如菜单是否可见权限的控制;
菜单名称,用于系统前端页面显示使用,直观区分各个菜单的功能作用;
菜单URL,用于配置点击菜单后的跳转地址;
显示排序,用于设置该模块各个菜单在页面前端的显示先后顺序。
优选的,权限定义自定义不同的权限条目,包括权限标识和权限名称,权限标识用于代码中引用进行控制响应权限,权限名称的定义便于人员直观查看该权限的具体情况,模块配置的菜单,定义菜单是否可编辑、相关功能是否可用等功能权限,以及菜单内数据是否可查看、编辑数据权限;权限条目是核心内容,由管理员创建,权限标识一般用英文标注,在接口调用时使用。
优选的,根据业务需求进行角色创建,定义好角色名称及描述;在角色创建的基础上,根据需要,为角色分配在权限定义处定义的权限,分配后,该角色既拥有了这些权限;之后将角色赋予给用户账号,则该用户账号随即便拥有了该角色的所有权限。
一种通用型的系统通用型的系统权限管理系统,所述权限管理系统由模块创建模块、菜单定义模块、权限定义模块以及角色定义模块构成;
模块创建模块,用于在模块管理列表根据业务需要创建模块;
菜单定义模块,用于定义模块的菜单相关信息;
权限定义模块,用于自定义不同的权限条目;
角色定义模块,用于系统中用户的权限通过角色控制。
优选的,所述模块创建模块中,通过定义模块名称,用以区分不用的模块功能,系统设立模块管理列表菜单,在模块管理列表可以根据业务需要创建模块,模块定义时根据业务情况,定义模块标识,用于权限设置时调用,以模块为基础,添加模块所属菜单、定义相关权限、定义所需业务角色。
优选的,所述菜单定义模块中,在模块管理列表-操作列,点击菜单管理进入菜单定义页面,在此页面定义该模块的菜单相关信息,主要包括菜单code、菜单名称、菜单URL地址、显示排序;
菜单code,用于权限调用,以此控制该菜单的相关权限,如菜单是否可见权限的控制;
菜单名称,用于系统前端页面显示使用,直观区分各个菜单的功能作用;
菜单URL,用于配置点击菜单后的跳转地址;
显示排序,用于设置该模块各个菜单在页面前端的显示先后顺序。
优选的,所述权限定义模块中,权限定义自定义不同的权限条目,包括权限标识和权限名称,权限标识用于代码中引用进行控制响应权限,权限名称的定义便于人员直观查看该权限的具体情况,模块配置的菜单,定义菜单是否可编辑、相关功能是否可用等功能权限,以及菜单内数据是否可查看、编辑数据权限;权限条目是核心内容,由管理员创建,权限标识一般用英文标注,在接口调用时使用。
优选的,所述角色定义模块中,根据业务需求进行角色创建,定义好角色名称及描述;在角色创建的基础上,根据需要,为角色分配在权限定义处定义的权限,分配后,该角色既拥有了这些权限;之后将角色赋予给用户账号,则该用户账号随即便拥有了该角色的所有权限。
与现有技术相比,本发明的有益效果是:
本发明提出的通用型的系统权限管理方法及系统以菜单组成的模块为基础,运用基于角色的访问控制(RBAC)的权限模型,设计的一种权限控制策略。作为业务系统的基础管理功能,用于管理和查看系统各业务功能的权限。通过模块管理和用户权限的相互配合实现灵活的业务上线及对应的权限控制。模块是对一系列菜单的分组,模块管理的作用是管理菜单目录(一级菜单、二级菜单)、菜单权限,只有管理员用户有模块管理的权限。而用户权限的作用是为用户分配角色、查看用户已有角色等。
附图说明
图1为本发明模块管理列表图;
图2为本发明新建模块图;
图3为本发明菜单管理列表图;
图4为本发明新建菜单图;
图5为本发明权限定义列表图;
图6为本发明定义权限条目图;
图7为本发明角色定义列表图;
图8为本发明主体、资源、权限关系图。
具体实施方式
为了使本发明的目的、技术方案进行清楚、完整地描述,及优点更加清楚明白,以下结合附图对本发明实施例进行进一步详细说明。应当理解,此处所描述的具体实施例是本发明一部分实施例,而不是全部的实施例,仅仅用以解释本发明实施例,并不用于限定本发明实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
请参阅图1至图8,本发明提供一种技术方案:一种通用型的系统权限管理方法,所述权限管理方法包括以下步骤:
在模块管理列表根据业务需要创建模块;
定义模块的菜单相关信息;
自定义不同的权限条目;
系统中用户的权限通过角色控制。
具体为:4.1模块创建
模块是以菜单为基础,作为一系列相关联菜单的集合体,通过定义模块名称,用以区分不用的模块功能。如图1和图2所示,系统设立模块管理列表菜单,在模块管理列表可以根据业务需要创建模块,模块定义时根据业务情况,定义模块标识,用于权限设置时调用。以模块为基础,可以添加模块所属菜单、定义相关权限、定义所需业务角色等。
4.2菜单定义
在模块管理列表-操作列,可以点击菜单管理进入菜单定义页面,在此页面可以定义该模块的菜单相关信息,主要包括菜单code、菜单名称、菜单URL地址、显示排序等。
菜单code用于权限调用,以此控制该菜单的相关权限,如菜单是否可见权限的控制;菜单名称用于系统前端页面显示使用,直观区分各个菜单的功能作用;菜单URL用于配置点击菜单后的跳转地址;排序用于设置该模块各个菜单在页面前端的显示先后顺序。
4.3权限定义
权限定义可以自定义不同的权限条目,包括权限标识和权限名称等,权限标识用于代码中引用进行控制响应权限,权限名称的定义便于人员直观查看该权限的具体情况。模块配置的菜单,可以定义菜单是否可编辑、相关功能是否可用等功能权限,以及菜单内数据是否可查看、编辑等数据权限。权限条目是核心内容,可以由管理员创建,权限标识一般用英文标注,在接口调用时使用。
4.4角色定义
系统中用户的权限是通过角色来控制,角色可以理解为具备一定权限的用户组,也叫权限的集合,划分角色的好处是可以大大降低用户权限分配的重复性工作量
首先需要根据业务需求进行角色创建,定义好角色名称及描述;在角色创建的基础上,根据需要,为角色分配在权限定义处定义的权限,分配后,该角色既拥有了这些权限;之后将角色赋予给用户账号,则该用户账号随即便拥有了该角色的所有权限。
在企业中,一个员工可以身兼多个岗位,一个岗位也可能有多个员工,所以员工和岗位是多对多的关系,由此可以得出“用户”和“角色”之间也是多对多的关系。一个“角色”可以分配多个“权限”,同样一个“权限”可以分配给多个“角色”使用,故“角色”和“权限”之间也是多对多的关系。这样可以避免重复定义权限、重复定义角色,灵活区分用户与用户之间的权限差异。如果一个用户拥有多个角色,那这个用户的权限则取的是这多个角色权限的并集。
角色ID:角色的唯一标识,一般由系统自动生成,由低到高递增;
角色名称:主要用于识别,可限制不可出现相同的角色名称。
4.5权限表结构设计
授权可简单理解为who对what(which)进行How操作:Who即主体(Subject)、What即资源(Resource)、How即权限/许可(Permission);
对上面的主体、资源、权限通过数据模型表示:
主体(账号、密码)
资源(资源名称、访问地址)
权限(权限名称、资源id)
角色(角色名称)
角色和权限关系(角色id、权限id)
主体和角色关系(主体id、角色id)
通常企业开发中将资源和权限表合并为一张权限表,如下:
资源(资源名称、访问地址)
权限(权限名称、资源id)
合并为:
权限(权限名称、资源名称、资源访问地址)。
实施例二
一种通用型的系统通用型的系统权限管理系统,所述权限管理系统由模块创建模块、菜单定义模块、权限定义模块以及角色定义模块构成;
模块创建模块,用于在模块管理列表根据业务需要创建模块;通过定义模块名称,用以区分不用的模块功能,系统设立模块管理列表菜单,在模块管理列表可以根据业务需要创建模块,模块定义时根据业务情况,定义模块标识,用于权限设置时调用,以模块为基础,添加模块所属菜单、定义相关权限、定义所需业务角色;
菜单定义模块,用于定义模块的菜单相关信息;在模块管理列表-操作列,点击菜单管理进入菜单定义页面,在此页面定义该模块的菜单相关信息,主要包括菜单code、菜单名称、菜单URL地址、显示排序;菜单code,用于权限调用,以此控制该菜单的相关权限,如菜单是否可见权限的控制;菜单名称,用于系统前端页面显示使用,直观区分各个菜单的功能作用;
菜单URL,用于配置点击菜单后的跳转地址;显示排序,用于设置该模块各个菜单在页面前端的显示先后顺序;
权限定义模块,用于自定义不同的权限条目;权限定义自定义不同的权限条目,包括权限标识和权限名称,权限标识用于代码中引用进行控制响应权限,权限名称的定义便于人员直观查看该权限的具体情况,模块配置的菜单,定义菜单是否可编辑、相关功能是否可用等功能权限,以及菜单内数据是否可查看、编辑数据权限;权限条目是核心内容,由管理员创建,权限标识一般用英文标注,在接口调用时使用;
角色定义模块,用于系统中用户的权限通过角色控制;根据业务需求进行角色创建,定义好角色名称及描述;在角色创建的基础上,根据需要,为角色分配在权限定义处定义的权限,分配后,该角色既拥有了这些权限;之后将角色赋予给用户账号,则该用户账号随即便拥有了该角色的所有权限。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
- 一种基于资源分层的备份系统权限管理方法及系统
- 一种基于资源分层的备份系统权限管理方法及系统