权限管控方法、装置及计算机可读存储介质与流程

文档序号:17775372发布日期:2019-05-28 20:01阅读:147来源:国知局
权限管控方法、装置及计算机可读存储介质与流程

本发明涉及计算机技术领域,尤其涉及一种权限管控方法、装置及计算机可读存储介质。



背景技术:

rbac基于角色的访问控制(role-basedaccesscontrol):以角色为中心进行访问控制。系统管理员通过职能或者机构的需求策略来创建角色,先给角色分配权限,然后再给用户分配角色。用户所拥有的角色权限集合决定了其能够访问的权限。

目前大多数系统的权限控制思想只是停留在功能权限和数据权限。功能权限指能看到什么菜单,数据权限指的是能看到某条数据。但都无法控制到能看到某些信息的一些字段或者修改某个字段。这样对于权限管理的话就有一些局限性,对于一些敏感数据直接暴漏给用户增加了很大的风险。



技术实现要素:

本发明提供一种权限管控方法、装置及计算机可读存储介质,其主要目的在于实现了能更加灵活的管控系统资源的各种权限。

为实现上述目的,本发明还提供一种权限管控方法,所述方法包括:

获取目标用户的角色;

获取所述目标用户触发的目标模块;

当所述目标用户的角色与预先设置的允许操作所述目标模块的角色相同时,根据所述目标用户的角色确定所述目标用户在所述目标模块中的各个对象的操作权限;

根据所述目标用户的角色确定所述目标用户在所述目标模块的各个对象中的字段的操作权限;

根据在所述目标模块中的各个对象的操作权限及在所述目标模块的各个对象中的字段的操作权限,控制所述目标用户在所述目标模块中的当前操作。

可选地,所述方法还包括:

在数据库中配置用户表及权限表,其中所述用户表存储有用户标识及每个用户标识对应的角色,所述权限表存储有多个角色及每种角色对应的权限,其中每种角色对应的权限包括每种角色对应的模块权限、每种角色在各个模块中的对象权限,每种角色在每个模块中的各个对象中的字段权限。

可选地,所述模块权限包括以下一种或者多种组合:对模块的查看、复制、新增、修改、删除的操作权限;

所述对象权限包括以下一种或者多种组合:对对象的查看、复制、新增、修改、删除的操作权限;

所述字段权限包括以下一种或者多种组合:对字段的查看、复制、新增、修改、删除的操作权限。

可选地,所述获取目标用户的角色包括:

获取所述目标用户输入的数据;

从输入的数据中提取所述目标用户的标识;

从所述用户表中读取与所述用户的标识匹配的角色作为所述目标用户的角色。

可选地,所述根据所述目标用户的角色确定所述目标用户在所述目标模块中的各个对象的操作权限包括:

从所述权限表中查找与所述目标用户的角色匹配的目标角色;

将所述权限表中所述目标角色在所述目标模块中的各个对象的操作权限作为所述目标用户在所述目标模块中的各个对象的操作权限。

可选地,所述根据所述目标用户的角色确定所述目标用户在所述目标模块的各个对象中的字段的操作权限包括:

从所述权限表中查找与所述目标用户的角色匹配的目标角色;

将所述权限表中所述目标角色在所述目标模块中的各个对象中的字段的操作权限作为所述目标用户在所述目标模块的各个对象中的字段的操作权限。

可选地,所述根据在所述目标模块中的各个对象的操作权限及在所述目标模块的在各个对象中的字段的操作权限,控制所述目标用户在所述目标模块中的当前操作包括:

若当前操作的当前对象在所述目标模块中的各个对象的操作权限内时,允许对当前对象的当前操作;

若当前操作的当前对象不在所述目标模块中的各个对象的操作权限内时,禁止对当前字段的当前操作;

若当前操作的当前字段在所述目标模块的在各个对象中的字段的操作权限内,允许对当前字段的当前操作;

若当前操作的当前字段在所述目标模块的在各个对象中的字段的操作权限内,禁止对当前字段的当前操作。

可选地,所述方法还包括:

当所述目标用户的角色与预先设置的允许操作所述目标模块的角色不相同时,提醒用户无法操作所述目标模块。

此外,为实现上述目的,本发明还提供一种权限管控装置,所述装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的权限管控程序,所述权限管控程序被所述处理器执行时实现如下步骤:

获取目标用户的角色;

获取所述目标用户触发的目标模块;

当所述目标用户的角色与预先设置的允许操作所述目标模块的角色相同时,根据所述目标用户的角色确定所述目标用户在所述目标模块中的各个对象的操作权限;

根据所述目标用户的角色确定在所述目标用户在所述目标模块的各个对象中的字段的操作权限;

根据在所述目标模块中的各个对象的操作权限及在所述目标模块的各个对象中的字段的操作权限,控制所述目标用户在所述目标模块中的当前操作。

此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有权限管控程序,所述权限管控程序可被一个或者多个处理器执行,以实现如上所述的权限管控方法的步骤。

本发明公开了一种权限管控方法,该方法包括:获取目标用户的角色;获取所述目标用户触发的目标模块;当所述目标用户的角色与预先设置的允许操作所述目标模块的角色相同时,根据所述目标用户的角色确定所述目标用户在所述目标模块中的各个对象的操作权限;根据所述目标用户的角色确定在所述目标用户在所述目标模块的各个对象中的字段的操作权限;根据在所述目标模块中的各个对象的操作权限及在所述目标模块的各个对象中的字段的操作权限,控制所述目标用户在所述目标模块中的当前操作。本发明还提出一种权限管控装置以及一种计算机可读存储介质。本发明能更加灵活的管控系统资源的各种权限。

附图说明

图1为本发明一实施例提供的权限管控方法的流程示意图;

图2为本发明一实施例提供的权限管控装置的内部结构示意图;

图3为本发明一实施例提供的权限管控装置中权限管控程序的模块示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明提供一种权限管控方法。参照图1所示,为本发明一实施例提供的权限管控方法的流程示意图。该方法可以由一个装置执行,该装置可以由软件和/或硬件实现。

在本实施例中,权限管控方法包括:

s10、获取目标用户的角色。

在本实施例中,在数据库中配置用户表及权限表,其中所述用户表存储有用户标识及每个用户标识对应的角色,所述权限表存储有多个角色及每种角色对应的权限,其中每种角色对应的权限包括每种角色对应的模块权限、每种角色在各个模块中的对象权限,每种角色在每个模块中的各个对象中的字段权限。

所述模块权限包括以下一种或者多种组合:对模块的查看、复制、新增、修改、删除的操作权限。

所述对象权限包括以下一种或者多种组合:对对象的查看、复制、新增、修改、删除的操作权限。

所述字段权限包括以下一种或者多种组合:对字段的查看、复制、新增、修改、删除的操作权限。

在本发明实施例中,每种角色对应的权限中每个权限设置一个相应的权限逻辑值字段,值为“ture”表示有进行此操作的权限,值为“false”则表示没有此操作的权限。所述逻辑值是计算机语言,意为逻辑状态下赋予的真或者假。逻辑值有两种情况:成立和不成立。成立的时候我们说逻辑值为真,使用true或1表示,不成立的时候我们说逻辑值为假,使用false或0表示。

本发明较佳实施例,在创建权限表时,可以设置一个权限管理模块,该权限管理模块中列出要创建的角色名称,并以多选框的形式列出所要进行权限控制的对象,系统管理员填写角色名称并选择相应的权限提交后生效。

在一实施例中,所述获取目标用户的角色包括:

获取所述目标用户输入的数据;

从输入的数据中提取所述目标用户的标识;

从所述用户表中读取与所述用户的标识匹配的角色作为所述目标用户的角色。

从以上技术内容可知,本发明对用户(user)、角色(role)、模块权限(modulepower)、对象权限(modelpower)和字段权限这五个主要实体对象的uml(unifiedmodelinglanguage,统一建模语言)模型进行定义。例如所述用户即为公司职员姓名,角色即为职员所处的职位或所扮演的角色。所述模块包括对象,即对象在模块下面,对象下面是相应的字段。

s11、获取所述目标用户触发的目标模块。

在本实施例中,所述目标模块为目标用户正在触发的模块,例如,用户点击的人事档案管理系统中的员工薪资模块。

进一步,判断所述目标用户的角色与预先设置的允许操作所述目标模块的角色是否相同,若相同,执行s12;若不同,提醒用户无法操作所述目标模块。

s12、当所述目标用户的角色与预先设置的允许操作所述目标模块的角色相同时,根据所述目标用户的角色确定所述目标用户在所述目标模块中的各个对象的操作权限。

在本实施例中,所述根据所述目标用户的角色确定所述目标用户在所述目标模块中的各个对象的操作权限包括:

从所述权限表中查找与所述目标用户的角色匹配的目标角色;

将所述权限表中所述目标角色在所述目标模块中的各个对象的操作权限作为所述目标用户在所述目标模块中的各个对象的操作权限。

s13、根据所述目标用户的角色确定在所述目标用户在所述目标模块的各个对象中的字段的操作权限。

在本实施例中,所述根据所述目标用户的角色确定在所述目标用户在所述目标模块的各个对象中的字段的操作权限包括:

从所述权限表中查找与所述目标用户的角色匹配的目标角色;

将所述权限表中所述目标角色在所述目标模块中的各个对象中的字段的操作权限作为所述目标用户在所述目标模块的各个对象中的字段的操作权限。

s14、根据在所述目标模块中的各个对象的操作权限及在所述目标模块的各个对象中的字段的操作权限,控制所述目标用户在所述目标模块中的当前操作。

在本实施例中,所述根据在所述目标模块中的各个对象的操作权限及在所述目标模块的在各个对象中的字段的操作权限,控制所述目标用户在所述目标模块中的当前操作包括:

若当前操作的当前对象在所述目标模块中的各个对象的操作权限内时,允许对当前对象的当前操作;

若当前操作的当前对象不在所述目标模块中的各个对象的操作权限内时,禁止对当前字段的当前操作;

若当前操作的当前字段在所述目标模块的在各个对象中的字段的操作权限内,允许对当前字段的当前操作;

若当前操作的当前字段在所述目标模块的在各个对象中的字段的操作权限内,禁止对当前字段的当前操作。

由以上技术方案可知,角色为实现访问控制策略的基本语义实体;对象和对象的字段均是访问控制的基本单元,而其中以对象的字段为最基本的控制单元;系统管理员可以根据实际需求来创建角色,给角色分配相应的权限(此时的权限粒度可以达到字段级)并为用户分配相应的角色,而用户所能够访问的权限则是由其所拥有的角色权限集合确定。用户进行某一操作之前首先会检测其是否包含有某个功能模块的权限,如果没有权限,则该用户是无权使用该功能模块下的所有功能。如果有权限,则检测其下所涉及的各个对象的权限,并根据各对象的权限设置对功能模块进行相应的控制。其次,用户在使用功能模块内所提供的查看、新建或编辑功能时,需要检测该用户是否能够查看相应对象下的各个字段的相应权限,只有用户拥有相应的操作权限时才能够查看、增加或编辑对应字段的信息。

例如在人事档案管理系统中,通常要求人事管理人员可以查看和编辑员工的人事信息,员工则只能查看其自身的人事信息而不能对某些信息进行修改,同时还不能查看他人的信息或只能查看他人的部分信息。在这种情景下,人事信息是一个对象,而信息中的具体条目则是该对象的字段,根据要求需要针对不同类型的用户提供与人事信息的特定字段相关的查看和编辑权限。

本发明获取目标用户的角色;获取所述目标用户触发的目标模块;当所述目标用户的角色与预先设置的允许操作所述目标模块的角色相同时,根据所述目标用户的角色确定所述目标用户在所述目标模块中的各个对象的操作权限;根据所述目标用户的角色确定在所述目标用户在所述目标模块的各个对象中的字段的操作权限;根据在所述目标模块中的各个对象的操作权限及在所述目标模块的各个对象中的字段的操作权限,控制所述目标用户在所述目标模块中的当前操作。实现了功能权限和数据权限,还增加了字段权限。扩展其角色可操作的实体为对象和对象中的字段,借以将权限管理的粒度由对象层级减小为字段层级,从而能够更加灵活和严格地对系统资源的权限进行控制并提升系统的安全控制级别。让系统更加友好,客户操作方便,使得、系统权限的分配、管理与控制更加方便、灵活、可控。

本发明还提供一种权限管控装置。参照图2所示,为本发明一实施例提供的权限管控装置的内部结构示意图。

在本实施例中,权限管控装置1可以是个人电脑(personalcomputer,pc),也可以是智能手机、平板电脑、便携计算机等终端设备。该权限管控装置1至少包括存储器11、处理器12,通信总线13,以及网络接口14。

其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是权限管控装置1的内部存储单元,例如该权限管控装置1的硬盘。存储器11在另一些实施例中也可以是权限管控装置1的外部存储设备,例如权限管控装置1上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,存储器11还可以既包括权限管控装置1的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于权限管控装置1的应用软件及各类数据,例如权限管控程序01的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。

处理器12在一些实施例中可以是一中央处理器(centralprocessingunit,cpu)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行权限管控程序01等。

通信总线13用于实现这些组件之间的连接通信。

网络接口14可选的可以包括标准的有线接口、无线接口(如wi-fi接口),通常用于在该装置1与其他电子设备之间建立通信连接。

可选地,该装置1还可以包括用户接口,用户接口可以包括显示器(display)、输入单元比如键盘(keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(organiclight-emittingdiode,oled)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在权限管控装置1中处理的信息以及用于显示可视化的用户界面。

图2仅示出了具有组件11-14以及权限管控程序01的权限管控装置1,本领域技术人员可以理解的是,图1示出的结构并不构成对权限管控装置1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。

在图2所示的装置1实施例中,存储器11中存储有权限管控程序01;处理器12执行存储器11中存储的权限管控程序01时实现如下步骤:

获取目标用户的角色。

在本实施例中,在数据库中配置用户表及权限表,其中所述用户表存储有用户标识及每个用户标识对应的角色,所述权限表存储有多个角色及每种角色对应的权限,其中每种角色对应的权限包括每种角色对应的模块权限、每种角色在各个模块中的对象权限,每种角色在每个模块中的各个对象中的字段权限。

所述模块权限包括以下一种或者多种组合:对模块的查看、复制、新增、修改、删除的操作权限。

所述对象权限包括以下一种或者多种组合:对对象的查看、复制、新增、修改、删除的操作权限。

所述字段权限包括以下一种或者多种组合:对字段的查看、复制、新增、修改、删除的操作权限。

在本发明实施例中,每种角色对应的权限中每个权限设置一个相应的权限逻辑值字段,值为“ture”表示有进行此操作的权限,值为“false”则表示没有此操作的权限。所述逻辑值是计算机语言,意为逻辑状态下赋予的真或者假。逻辑值有两种情况:成立和不成立。成立的时候我们说逻辑值为真,使用true或1表示,不成立的时候我们说逻辑值为假,使用false或0表示。

本发明较佳实施例,在创建权限表时,可以设置一个权限管理模块,该权限管理模块中列出要创建的角色名称,并以多选框的形式列出所要进行权限控制的对象,系统管理员填写角色名称并选择相应的权限提交后生效。

在一实施例中,所述获取目标用户的角色包括:

获取所述目标用户输入的数据;

从输入的数据中提取所述目标用户的标识;

从所述用户表中读取与所述用户的标识匹配的角色作为所述目标用户的角色。

从以上技术内容可知,本发明对用户(user)、角色(role)、模块权限(modulepower)、对象权限(modelpower)和字段权限这五个主要实体对象的uml(unifiedmodelinglanguage,统一建模语言)模型进行定义。例如所述用户即为公司职员姓名,角色即为职员所处的职位或所扮演的角色。所述模块包括对象,即对象在模块下面,对象下面是相应的字段。

获取所述目标用户触发的目标模块。

在本实施例中,所述目标模块为目标用户正在触发的模块,例如,用户点击的人事档案管理系统中的员工薪资模块。

进一步,判断所述目标用户的角色与预先设置的允许操作所述目标模块的角色是否相同,若不同,提醒用户无法操作所述目标模块。

当所述目标用户的角色与预先设置的允许操作所述目标模块的角色相同时,根据所述目标用户的角色确定所述目标用户在所述目标模块中的各个对象的操作权限。

在本实施例中,所述根据所述目标用户的角色确定所述目标用户在所述目标模块中的各个对象的操作权限包括:

从所述权限表中查找与所述目标用户的角色匹配的目标角色;

将所述权限表中所述目标角色在所述目标模块中的各个对象的操作权限作为所述目标用户在所述目标模块中的各个对象的操作权限。

根据所述目标用户的角色确定在所述目标用户在所述目标模块的各个对象中的字段的操作权限。

在本实施例中,所述根据所述目标用户的角色确定在所述目标用户在所述目标模块的各个对象中的字段的操作权限包括:

从所述权限表中查找与所述目标用户的角色匹配的目标角色;

将所述权限表中所述目标角色在所述目标模块中的各个对象中的字段的操作权限作为所述目标用户在所述目标模块的各个对象中的字段的操作权限。

根据在所述目标模块中的各个对象的操作权限及在所述目标模块的各个对象中的字段的操作权限,控制所述目标用户在所述目标模块中的当前操作。

在本实施例中,所述根据在所述目标模块中的各个对象的操作权限及在所述目标模块的在各个对象中的字段的操作权限,控制所述目标用户在所述目标模块中的当前操作包括:

若当前操作的当前对象在所述目标模块中的各个对象的操作权限内时,允许对当前对象的当前操作;

若当前操作的当前对象不在所述目标模块中的各个对象的操作权限内时,禁止对当前字段的当前操作;

若当前操作的当前字段在所述目标模块的在各个对象中的字段的操作权限内,允许对当前字段的当前操作;

若当前操作的当前字段在所述目标模块的在各个对象中的字段的操作权限内,禁止对当前字段的当前操作。

由以上技术方案可知,角色为实现访问控制策略的基本语义实体;对象和对象的字段均是访问控制的基本单元,而其中以对象的字段为最基本的控制单元;系统管理员可以根据实际需求来创建角色,给角色分配相应的权限(此时的权限粒度可以达到字段级)并为用户分配相应的角色,而用户所能够访问的权限则是由其所拥有的角色权限集合确定。用户进行某一操作之前首先会检测其是否包含有某个功能模块的权限,如果没有权限,则该用户是无权使用该功能模块下的所有功能。如果有权限,则检测其下所涉及的各个对象的权限,并根据各对象的权限设置对功能模块进行相应的控制。其次,用户在使用功能模块内所提供的查看、新建或编辑功能时,需要检测该用户是否能够查看相应对象下的各个字段的相应权限,只有用户拥有相应的操作权限时才能够查看、增加或编辑对应字段的信息。

例如在人事档案管理系统中,通常要求人事管理人员可以查看和编辑员工的人事信息,员工则只能查看其自身的人事信息而不能对某些信息进行修改,同时还不能查看他人的信息或只能查看他人的部分信息。在这种情景下,人事信息是一个对象,而信息中的具体条目则是该对象的字段,根据要求需要针对不同类型的用户提供与人事信息的特定字段相关的查看和编辑权限。

本发明获取目标用户的角色;获取所述目标用户触发的目标模块;当所述目标用户的角色与预先设置的允许操作所述目标模块的角色相同时,根据所述目标用户的角色确定所述目标用户在所述目标模块中的各个对象的操作权限;根据所述目标用户的角色确定在所述目标用户在所述目标模块的各个对象中的字段的操作权限;根据在所述目标模块中的各个对象的操作权限及在所述目标模块的各个对象中的字段的操作权限,控制所述目标用户在所述目标模块中的当前操作。实现了功能权限和数据权限,还增加了字段权限。扩展其角色可操作的实体为对象和对象中的字段,借以将权限管理的粒度由对象层级减小为字段层级,从而能够更加灵活和严格地对系统资源的权限进行控制并提升系统的安全控制级别。让系统更加友好,客户操作方便,使得、系统权限的分配、管理与控制更加方便、灵活、可控。

可选地,在其他实施例中,权限管控程序还可以被分割为一个或者多个模块,一个或者多个模块被存储于存储器11中,并由一个或多个处理器(本实施例为处理器12)所执行以完成本发明,本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段,用于描述权限管控程序在权限管控装置中的执行过程。

例如,参照图3所示,为本发明权限管控装置一实施例中的权限管控程序的程序模块示意图,该实施例中,权限管控程序可以被分割为板块获取模块10、确定模块30及控制模块30,示例性地:

获取模块10获取目标用户的角色;

所述获取模块10获取所述目标用户触发的目标模块;

确定模块20当所述目标用户的角色与预先设置的允许操作所述目标模块的角色相同时,根据所述目标用户的角色确定所述目标用户在所述目标模块中的各个对象的操作权限;

所述确定模块20根据所述目标用户的角色确定所述目标用户在所述目标模块的各个对象中的字段的操作权限;

控制模块30根据在所述目标模块中的各个对象的操作权限及在所述目标模块的各个对象中的字段的操作权限,控制所述目标用户在所述目标模块中的当前操作。

上述获取模块10、确定模块20及控制模块30等程序模块被执行时所实现的功能或操作步骤与上述实施例大体相同,在此不再赘述。

此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有权限管控程序,所述权限管控程序可被一个或多个处理器执行,以实现如下操作:

获取目标用户的角色;

获取所述目标用户触发的目标模块;

当所述目标用户的角色与预先设置的允许操作所述目标模块的角色相同时,根据所述目标用户的角色确定所述目标用户在所述目标模块中的各个对象的操作权限;

根据所述目标用户的角色确定所述目标用户在所述目标模块的各个对象中的字段的操作权限;

根据在所述目标模块中的各个对象的操作权限及在所述目标模块的各个对象中的字段的操作权限,控制所述目标用户在所述目标模块中的当前操作。

本发明计算机可读存储介质具体实施方式与上述权限管控装置和方法各实施例基本相同,在此不作累述。

需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1