用户权限的控制方法及系统与流程

文档序号:16630056发布日期:2019-01-16 06:29阅读:239来源:国知局
用户权限的控制方法及系统与流程

本发明涉及权限管理技术领域,特别涉及一种用户权限的控制方法及系统。



背景技术:

随着企业信息化的不断深入,各种各样的信息系统成为提高企业运营及管理效率的必备工具,而信息的安全也必然成为企业极度重视的问题。在现有的安全平台或者云平台中,实现用户权限控制的方式主要是通过控制用户对系统中每个api(应用程序编程接口,applicationprogramminginterface)的访问权限来实现的。用户在进行对应的访问操作时,系统通过识别该用户是否具备对应的访问权限来控制用户的访问。

目前,针对用户访问权限的控制,基本上还停留在对资源类型的粗粒度的权限管理层面上,缺少数据级别的细粒度权限管理层面上针对资源实例的权限管理方案。



技术实现要素:

本发明提供一种用户权限的控制方法及系统,用以在细粒度权限管理层面上控制用户对资源实例的访问权限。

本发明提供了一种用户权限的控制方法,所述用户权限的控制方法包括:

获取发送数据访问请求的用户所对应的用户信息,根据所述用户信息,识别该用户所属的用户角色和租户组织;

查找预先存储的关联关系表,根据查找结果,获取所述用户角色对应的用户权限信息;其中,所述关联关系表包括:用户角色、用户权限信息、用户角色和用户权限信息的关联关系、以及用户与租户组织的关联关系;

根据获取的所述用户权限信息,控制该用户对应的数据访问权限和数据操作权限。

优选地,所述根据所述用户信息,识别该用户所属的用户角色和租户组织,包括:

根据所述用户信息,从所述用户信息中提取出至少一个属性值;

根据预设的角色表达式,生成角色决策二叉树;

采用后序遍历法,将提取出的所述至少一个属性值与生成的所述角色决策二叉树进行匹配;

根据匹配结果,获取该用户所属的用户角色;

根据预设的租户表达式,生成租户决策二叉树;

采用后序遍历法,将提取出的所述至少一个属性值与生成的所述租户决策二叉树进行匹配;

根据匹配结果,获取该用户所属的租户组织。

优选地,所述根据获取的所述用户权限信息,控制该用户对应的数据访问权限和数据操作权限,包括:

根据获取的所述用户权限信息,判断该用户是否具备访问业务系统对应页面的预设层级功能菜单的权限;

若该用户具备对应的数据访问权限,则显示该业务系统对应页面的预设层级的功能菜单;

若该用户不具备对应的数据访问权限,则隐藏该业务系统对应页面的预设层级的功能菜单;

根据获取的所述用户权限信息,判断该用户是否具备对可访问的业务系统对应页面的预设层级功能菜单的各项操作权限;

若该用户具备对应的数据操作权限,则显示该业务系统对应页面的预设层级的可操作功能;

若该用户不具备对应的数据操作权限,则隐藏该业务系统对应页面的预设层级的功能操作按钮或提示不可操作;

根据获取的所述用户权限信息,判断该用户是否具备对可访问的业务系统对应页面的数据内容具备数据访问和操作权限;

若该用户具备对应的数据访问和操作权限,则显示该业务系统对应页面的预设层级的相应数据内容;

若该用户不具备对应的数据访问和操作权限,则不显示该业务系统对应页面的预设层级的无权限数据内容。

优选地,所述根据所述用户信息,识别该用户所属的用户角色和租户组织,包括:

根据用户提交url请求地址对应的登录信息,查找所述关联关系表;

根据所述关联关系表的查找结果,获取该用户所属的用户角色和租户组织;

其中,所述关联关系表为预先创建并存储的;所述关联关系表的创建包括:

根据预设的权限匹配规则,建立用户信息对应的用户角色、用户角色对应的功能信息、用户租户组、用户租户对应的数据信息以及功能信息对应的url请求地址之间的关联关系;

根据建立的所述关联关系以及用户信息、用户角色、功能信息、用户租户组、数据信息和url请求地址,生成对应的关联关系表。

优选地,所述根据获取的所述用户权限信息,控制该用户对应的数据访问权限和数据操作权限,包括:

根据获取的所述用户权限信息,判断所述用户角色对应的功能信息与url请求地址对应的功能信息是否匹配;

若用户角色对应的功能信息与url请求地址对应的功能信息匹配,则访问该url请求地址对应的页面,并根据功能信息显示可操作的功能按钮或进行不可操作提示;

若用户角色对应的功能信息与url请求地址对应的功能信息不匹配,则对该url请求地址进行拦截处理;

根据获取的所述用户权限信息,判断所述用户对应的数据信息与url请求地址对应页面内展示的数据信息是否匹配;

若用户对应的数据信息与url请求地址对应页面内展示的数据信息匹配,则访问该url请求地址对应的页面内的数据内容;

若用户对应的数据信息与url请求地址对应页面内展示的数据信息不匹配,则不显示该url请求地址对应的页面内不匹配的数据内容。

对应于以上实施例所提供的一种用户权限的控制方法,本发明还提供了一种用户权限的控制系统,所述用户权限的控制系统包括:

角色识别模块,用于获取发送数据访问请求的用户所对应的用户信息,根据所述用户信息,识别该用户所属的用户角色;

租户识别模块,用于获取发送数据访问请求的用户所对应的用户信息,根据所述用户信息,识别该用户所属的租户组织;

权限获取模块,用于查找预先存储的关联关系表,根据查找结果,获取所述用户角色对应的用户权限信息;其中,所述关联关系表包括:用户角色、用户权限信息、用户角色和用户权限信息的关联关系、以及用户与租户组织的关联关系;

访问控制模块,用于根据获取的所述用户权限信息,控制该用户对应的数据访问权限和数据操作权限。

优选地,所述角色识别模块用于:

根据所述用户信息,从所述用户信息中提取出至少一个属性值;

根据预设的角色表达式,生成角色决策二叉树;

采用后序遍历法,将提取出的所述至少一个属性值与生成的所述角色决策二叉树进行匹配;

根据匹配结果,获取该用户所属的用户角色。

优选地,所述租户识别模块用于:

根据所述用户信息,从所述用户信息中提取出至少一个属性值;

根据预设的租户表达式,生成租户决策二叉树;

采用后序遍历法,将提取出的所述至少一个属性值与生成的所述租户决策二叉树进行匹配;

根据匹配结果,获取该用户所属的租户组织。

优选地,所述访问控制模块用于:

根据获取的所述用户权限信息,判断该用户是否具备访问业务系统对应页面的预设层级功能菜单的权限;

若该用户具备对应的数据访问权限,则显示该业务系统对应页面的预设层级的功能菜单;

若该用户不具备对应的数据访问权限,则隐藏该业务系统对应页面的预设层级的功能菜单;

根据获取的所述用户权限信息,判断该用户是否具备对可访问的业务系统对应页面的预设层级功能菜单的各项操作权限;

若该用户具备对应的数据操作权限,则显示该业务系统对应页面的预设层级的可操作功能;

若该用户不具备对应的数据操作权限,则隐藏该业务系统对应页面的预设层级的功能操作按钮或提示不可操作;

根据获取的所述用户权限信息,判断该用户是否具备对可访问的业务系统对应页面的数据内容具备数据访问和操作权限;

若该用户具备对应的数据访问和操作权限,则显示该业务系统对应页面的预设层级的相应数据内容;

若该用户不具备对应的数据访问和操作权限,则不显示该业务系统对应页面的预设层级的无权限数据内容。

优选地,所述角色识别模块用于:

根据用户提交url请求地址对应的登录信息,查找所述关联关系表;

根据所述关联关系表的查找结果,获取该用户所属的用户角色;

其中,所述关联关系表为预先创建并存储的;所述关联关系表的创建包括:

根据预设的权限匹配规则,建立用户信息对应的用户角色、用户角色对应的功能信息以及功能信息对应的url请求地址之间的关联关系;

根据建立的所述关联关系以及用户信息、用户角色、功能信息和url请求地址,生成对应的关联关系表。

优选地,所述租户识别模块用于:

根据用户提交url请求地址对应的登录信息,查找所述关联关系表;

根据所述关联关系表的查找结果,获取该用户所属的租户组织;

其中,所述关联关系表为预先创建并存储的;所述关联关系表的创建包括:

根据预设的权限匹配规则,建立用户信息对应的用户租户组、用户租户对应的数据信息以及数据信息对应的url请求地址之间的关联关系;

根据建立的所述关联关系以及用户信息、用户租户组、数据信息和url请求地址,生成对应的关联关系表。

优选地,所述访问控制模块用于:

根据获取的所述用户权限信息,判断所述用户角色对应的功能信息与url请求地址对应的功能信息是否匹配;

若用户角色对应的功能信息与url请求地址对应的功能信息匹配,则访问该url请求地址对应的页面,并根据功能信息显示可操作的功能按钮或进行不可操作提示;

若用户角色对应的功能信息与url请求地址对应的功能信息不匹配,则对该url请求地址进行拦截处理;

根据获取的所述用户权限信息,判断所述用户对应的数据信息与url请求地址对应页面内展示的数据信息是否匹配;

若用户对应的数据信息与url请求地址对应页面内展示的数据信息匹配,则访问该url请求地址对应的页面内的数据内容;

若用户对应的数据信息与url请求地址对应页面内展示的数据信息不匹配,则不显示该url请求地址对应的页面内不匹配的数据内容。

本发明一种用户权限的控制方法及系统可以达到如下有益效果:

通过获取发送数据访问请求的用户所对应的用户信息,根据所述用户信息,识别该用户所属的用户角色和租户组织;查找预先存储的关联关系表,根据查找结果,获取所述用户角色对应的用户权限信息;其中,所述关联关系表包括:用户角色、用户权限信息、用户角色和用户权限信息的关联关系、以及用户租户组织的关联关系;根据获取的所述用户权限信息,控制该用户对应的数据访问权限和数据操作权限;达到了在细粒度权限管理层面上控制用户对资源实例的访问和操作权限、以及资源数据隔离的目的,提高了用户权限控制的灵活性和针对性。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所指出的内容来实现和获得。

下面通过附图和实施例,对本发明的技术方案做进一步描述。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:

图1是本发明用户权限的控制方法的一种实施方式的流程示意图;

图2是本发明用户权限的控制方法中包含功能菜单的页面的一种实施方式的页面结构示意图;

图3是本发明用户权限的控制系统的一种实施方式的功能模块示意图。

具体实施方式

以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

本发明提供了一种用户权限的控制方法及系统,用以在细粒度权限管理层面上控制用户对资源实例的访问和操作权限,提高用户权限控制的灵活性和针对性。本发明实施例中所描述的用户权限的控制,是在细粒度层面进行的;可以理解为对资源实例的权限管理和数据隔离;资源实例也就是资源类型的具体化,比如用户id为001的修改连接、111班的用户信息、公司行政部的员工等;细粒度权利控制就是数据级别的权限控制,比如,部门经理仅可以访问本部门的员工信息,用户只可以看到自己的菜单,大区经理只能查看本辖区的销售订单等。粗粒度权限控制相对于细粒度权限控制而言,是对资源类型的权限控制;资源类型比如:菜单、url(统一资源定位符,uniform/universalresourcelocator)连接、用户添加页面、用户信息、类方法、页面中的按钮等;粗粒度权限控制比如:超级管理员可以访问用户添加的页面、用户信息等全部页面;部门管理员可以访问用户信息页面,包括该页面中的所有菜单和按钮等。

如图1所示,图1是本发明用户权限的控制方法的一种实施方式的流程示意图;本发明一种用户权限的控制方法可以实施为如下描述的步骤s10-s30:

步骤s10、获取发送数据访问请求的用户所对应的用户信息,根据所述用户信息,识别该用户所属的用户角色和租户组织;

本发明用户权限的控制方法及系统实施例中,所描述的用户角色可以理解为:具有相同权限的一类人员的集合,也就是说,一个用户角色可以包含多个操作人员,一个操作人员也可以属于多个用户角色;一个用户角色可以具有多个功能的操作授权,一个功能也可以被多个用户角色所拥有。所描述的租户组织可以理解为:属于同一公司或组织的一类人员的集合,也就是说,一个租户组织可以包含多个操作人员,一个操作人员只属于一个租户组织;一个租户组织可以具有多个功能的操作授权,一个功能也可以被多个租户组织所拥有,但各个租户组织可访问和操作的数据资源是相互隔离、非特殊授权状态下不可共享的。用户权限的控制系统(以下简称“控制系统”)接收到用户触发的数据访问请求时,获取发送数据访问请求的用户所对应的用户信息;比如,控制系统可以在用户登录过程中,根据能够唯一标识用户的信息,从用户的数据模型中提取出与该用户相关的用户信息。在不同的应用场景中,控制系统获取的用户的信息可能不同;例如,在购物网站,控制系统获取的用户信息可以:用户登录名、注册时间、购物次数、消费额、购物所属类别等;在企业内部系统,控制系统获取的用户信息可以为:用户登录名、入职时间、所属部门、职能等级等。

根据获取到的上述用户信息,控制系统识别该用户所属的用户角色和租户组织;例如,控制系统获取到的用户信息中包含至少一个属性值,控制系统将至少一个属性值与角色表达式和租户表达式进行匹配,将匹配的角色表达式对应的角色识别为上述用户信息所对应的用户角色,将匹配的租户表达式对应的租户识别为上述用户信息所对应的租户组织。其中,控制系统将至少一个属性值与角色表达式和租户表达式进行匹配的方式有多种,本发明对此不作限制。在一具体的应用场景中,可以采用如下的匹配方式:设置每个角色表达式或租户表达式中包含变量、与变量对应的参考值,变量与参考值之间的逻辑关系,在获取用户的属性值之后,将用户的角色表达式或租户表达式中的变量替换为对应的属性值,根据变量与参考值之间的逻辑关系获取角色表达式或租户表达式的计算结果,根据计算结果确定访问用户的用户角色或租户组织。

步骤s20、查找预先存储的关联关系表,根据查找结果,获取所述用户角色对应的用户权限信息;其中,所述关联关系表包括:用户角色、用户权限信息、用户角色和用户权限信息的关联关系、以及用户和租户组织的关联关系;

本发明实施例中,控制系统预先设置并存储对应的关联关系表;该关联关系表包括:用户角色、用户权限信息、用户角色和用户权限信息的关联关系、以及用户和租户组织的关联关系。在具体的应用场景中,控制系统根据该应用场景中对应的用户信息,创建关联关系表中所包含的用户角色,根据创建的不同的用户角色,为上述用户角色分配对应的用户权限,得到对应的用户权限信息;分配完成后,存储该关联关系表。由于不同的应用场景对应的用户信息不同,因此不同的应用场景下,用户角色和对应的用户权限均不相同,本发明实施例对此不进行一一穷举。针对上述关联关系表,控制系统根据具体需求可以进行对应的更新和维护。

当确定了对应的用户角色后,控制系统通过查询预先创建并存储的关联关系表,便可根据查找结果获取该用户角色对应的用户权限信息,从而确定该用户角色对应的用户权限。

步骤s30、根据获取的所述用户权限信息,控制该用户对应的数据访问权限和数据操作权限。

控制系统获取了对应的用户权限信息后,即可根据具体的权限信息,控制该用户对相关数据的访问和操作,实现了根据用户角色进行用户权限的细粒度控制。比如,该用户角色对应的用户权限不具备访问第四层级功能菜单的权限,则控制系统直接隐藏该页面的第四层级的功能菜单,不对该用户角色进行显示;该用户角色对应的用户权限不具备url请求地址对应的功能信息的访问权限,则该控制系统直接拦截该用户角色发送的url请求;该用户对应的用户权限不具备页面数据信息的访问权限,则该控制系统直接改页面的数据信息。

在本发明一优选的实施例中,所述获取发送数据访问请求的用户所对应的用户信息,包括:获取发送数据访问请求的用户的辅助识别信息,根据所述辅助识别信息确定发送数据访问请求的用户所对应的用户信息;

所述辅助识别信息包括:触摸识别信息、声音识别信息;

所述根据所述辅助识别信息确定发送数据访问请求的用户所对应的用户信息,包括:

当辅助识别信息为触摸识别信息时,检测用户对所述触摸输入接口的触摸输入操作;

若检测到所述触摸输入操作,获取所述触摸输入操作对应的接触区域的信息;

根据所述触摸输入操作对应的接触区域的信息与预设的接触区域的信息,判断所述用户为成年人还是儿童;

当所述电子设备处于开机确认状态时,如果判断所述用户为成年人,则开启所述电子设备;如果判断所述用户为儿童,则关闭所述电子设备;

当所述电子设备处于待解锁状态时,如果判断所述用户为成年人,则解除对所述电子设备的锁定;如果判断所述用户为儿童,则保持对所述电子设备的锁定;

当所述电子设备收到所述用户开启设定的应用或功能的请求时,如果判断所述用户为成年人,则启动所述设定的应用或功能;如果判断所述用户为儿童,则不启动所述设定的应用或功能;

其中,所述预设的接触区域的信息,包括:成年人的指定手指的长轴,和儿童的所述指定手指的长轴的至少一个;或者,所述预设的接触区域的信息包括:成年人的指定手指的指头的长轴,和儿童的所述指定手指的指头的长轴;或者,所述预设的接触区域的信息包括:成年人的掌心的长轴和儿童的掌心的长轴的至少一个;或者,所述预设的接触区域的信息包括:成年人的手掌的长轴,和儿童的手掌的长轴的至少一个;

所述预设的接触区域的信息,包括:成年人的指定手指的面积,和儿童的所述指定手指的面积的至少一个;或者,所述预设的接触区域的信息包括:成年人的指定手指的指头的面积,和儿童的所述指定手指的指头的面积;或者,所述预设的接触区域的信息包括:成年人的掌心的面积和儿童的掌心的面积的至少一个;或者,所述预设的接触区域的信息包括:成年人的手掌的面积,和儿童的手掌的面积的至少一个;

当辅助识别信息为声音识别信息时,根据以下方法对用户进行识别:在存储器中登记多个用户的声音模型以及用于识别与各声音模型关联的每一用户的用户标识,对用户的声音进行拾音以获得响应于用户声音的输入音频信号,处理所获得的输入音频信号以检测声音模型,以及将所检测的声音模型与所登记的声音模型进行比较,以确定存储器中登记的任意声音模型是否匹配于所检测的声音模型,以及在存在一种已登记的匹配于所检测的声音的声音模型的情况下,通过在存储器中登记的与匹配声音模型关联的用户标识来识别用户。

在本发明一优选的实施例中,控制系统根据所述用户信息,识别该用户所属的用户角色,可以通过如下方式实施:

根据所述用户信息,控制系统从所述用户信息中提取出至少一个属性值;根据预设的角色表达式,生成角色决策二叉树;采用后序遍历法,将提取出的所述至少一个属性值与生成的所述角色决策二叉树进行匹配;根据匹配结果,获取该用户所属的用户角色。

采用这种方式来确定用户角色的优点是,当用户属性值发生变化时,对应的用户角色也发生变化;也就是说,控制系统可以根据用户属性值发生变化后的信息,将同一登录名的用户对应的用户角色变更为与用户属性值相匹配的用户角色,无需再由开发人员来修改用户对应的角色代码,缩短了版本的发布周期和运维成本。

在本发明一优选的实施例中,控制系统根据所述用户信息,识别该用户所属的租户组织,可以通过如下方式实施:

根据所述用户信息,控制系统从所述用户信息中提取出至少一个属性值;根据预设的租户表达式,生成租户决策二叉树;采用后序遍历法,将提取出的所述至少一个属性值与生成的所述租户决策二叉树进行匹配;根据匹配结果,获取该用户所属的租户组织。

采用这种方式来确定租户组织的优点是,当用户属性值发生变化时,对应的租户组织也发生变化;也就是说,控制系统可以根据用户属性值发生变化后的信息,将同一登录名的用户对应的租户组织变更为与用户属性值相匹配的租户组织,无需再由开发人员来修改用户对应的租户组织代码,缩短了版本的发布周期和运维成本。

在本发明一优选的实施例中,控制系统根据所述用户信息,识别该用户所属的用户角色和租户组织,可以通过如下方式实施:

根据用户提交url请求地址对应的登录信息,查找所述关联关系表;根据所述关联关系表的查找结果,获取该用户所属的用户角色和租户组织;

在本发明实施例中,所述关联关系表是根据用户角色对应的功能信息、用户租户组、用户租户对应的数据信息以及功能信息对应的url请求地址的关联关系来创建的;所述关联关系表的创建包括:根据预设的权限匹配规则,建立用户信息对应的用户角色、用户角色对应的功能信息、用户租户组、用户租户对应的数据信息以及功能信息对应的url请求地址之间的关联关系;根据建立的所述关联关系以及用户信息、用户角色、用户租户组、功能信息和url请求地址,生成对应的关联关系表。

基于创建的上述包含url请求地址的关联关系表,控制系统根据获取的所述用户权限信息,控制该用户对应的数据访问权限和数据操作权限,在一具体的应用场景中,可以采用如下方式实施:

控制系统根据获取的所述用户权限信息,判断所述用户角色对应的功能信息与url请求地址对应的功能信息是否匹配;若用户角色对应的功能信息与url请求地址对应的功能信息匹配,则访问该url请求地址对应的页面,并根据功能信息显示可操作的功能按钮或进行不可操作提示;若用户角色对应的功能信息与url请求地址对应的功能信息不匹配,则对该url请求地址进行拦截处理;根据获取的所述用户权限信息,判断所述用户对应的数据信息与url请求地址对应页面内展示的数据信息是否匹配;若用户对应的数据信息与url请求地址对应页面内展示的数据信息匹配,则访问该url请求地址对应的页面内的数据内容;若用户对应的数据信息与url请求地址对应页面内展示的数据信息不匹配,则不显示该url请求地址对应的页面内不匹配的数据内容。

在本发明一优选的实施例中,控制系统根据获取的所述用户权限信息,控制该用户对应的数据访问权限,在一具体的应用场景中,可以通过如下方式实施:

控制系统根据获取的所述用户权限信息,判断该用户是否具备访问业务系统对应页面的预设层级功能菜单的权限;若该用户具备对应的数据访问权限,则显示该业务系统对应页面的预设层级的功能菜单;若该用户不具备对应的数据访问权限,则隐藏该业务系统对应页面的预设层级的功能菜单。通过对相应页面预设层级功能菜单的显示与隐藏,来达到对用户访问权限的控制的目的。

在本发明一优选的实施例中,控制系统根据获取的所述用户权限信息,控制该用户对应的数据操作权限,在一具体的应用场景中,可以通过如下方式实施:

控制系统根据获取的所述用户权限信息,判断该用户是否具备对可访问的业务系统对应页面的预设层级功能菜单的各项操作权限;若该用户具备对应的数据操作权限,则显示该业务系统对应页面的预设层级的可操作功能;若该用户不具备对应的数据操作权限,则隐藏该业务系统对应页面的预设层级的功能操作按钮或提示不可操作。

在本发明一优选的实施例中,控制系统根据获取的所述用户权限信息,控制该用户对应的数据内容权限,在一具体的应用场景中,可以通过如下方式实施:

控制系统根据获取的所述用户权限信息,判断该用户是否具备对可访问的业务系统对应页面的数据内容具备数据访问和操作权限;若该用户具备对应的数据访问和操作权限,则显示该业务系统对应页面的预设层级的相应数据内容;若该用户不具备对应的数据访问和操作权限,则不显示该业务系统对应页面的预设层级的无权限数据内容。

如图2,图2是本发明用户权限的控制方法中包含功能菜单的页面的一种实施方式的页面结构示意图;图2所示的某业务系统的页面功能菜单包含了四级功能菜单,即一级功能菜单、二级功能菜单、三级功能菜单和四级功能菜单,通常情况下一二级功能菜单只是用于功能分类,是不具有功能访问地址的,三级菜单才是功能的真正入口,常规的控制系统就是通过控制每个人员对应的功能菜单的显示与隐藏来实现权限控制。本命实施例中为实现细粒度的用户权限控制,在设计功能表时加入了第四层:页面元素即第四级功能菜单,第四级功能菜单隶属于第三层功能菜单,这些页面元素用来标识功能页面中的每一个功能按钮,如增加、修改、删除、查询都可算是页面元素,在为用户角色分配权限时,第四层也同样纳入统一权限管理,如果有此页面元素的权限,则页面上就显示该按钮,如果没有此页面元素的功能权限,则该按钮就不会显示出来。

本发明用户权限的控制方法通过获取发送数据访问请求的用户所对应的用户信息,根据所述用户信息,识别该用户所属的用户角色和租户组织;查找预先存储的关联关系表,根据查找结果,获取所述用户角色对应的用户权限信息;其中,所述关联关系表包括:用户角色、用户权限信息、用户角色和用户权限信息的关联关系、以及用户与租户组织的关联关系;根据获取的所述用户权限信息,控制该用户对应的数据访问权限和数据操作权限;达到了在细粒度权限管理层面上控制用户对资源实例的访问和操作权限、以及资源数据隔离的目的,提高了用户权限控制的灵活性和针对性。

基于以上实施例提供的一种用户权限的控制方法,本发明实施例还提供了一种用户权限的控制系统;该用户权限的控制系统可以实施图1实施例所描述的用户权限的控制方法,且具备图1所述实施例中描述的控制系统的全部功能。如图3所示,图3是本发明用户权限的控制系统的一种实施方式的功能模块示意图;本发明用户权限的控制系统包括:

角色识别模块100,用于获取发送数据访问请求的用户所对应的用户信息,根据所述用户信息,识别该用户所属的用户角色;

租户识别模块200,用于获取发送数据访问请求的用户所对应的用户信息,根据所述用户信息,识别该用户所属的租户组织;

权限获取模块300,用于查找预先存储的关联关系表,根据查找结果,获取所述用户角色对应的用户权限信息;其中,所述关联关系表包括:用户角色、用户权限信息、用户角色和用户权限信息的关联关系、以及用户与租户组织的关联关系;

访问控制模块400,用于根据获取的所述用户权限信息,控制该用户对应的数据访问权限和数据操作权限。

在本发明一优选的实施例中,所述角色识别模块100用于:

根据所述用户信息,从所述用户信息中提取出至少一个属性值;

根据预设的角色表达式,生成角色决策二叉树;

采用后序遍历法,将提取出的所述至少一个属性值与生成的所述角色决策二叉树进行匹配;

根据匹配结果,获取该用户所属的用户角色。

在本发明一优选的实施例中,所述租户识别模块200用于:

根据所述用户信息,从所述用户信息中提取出至少一个属性值;

根据预设的租户表达式,生成租户决策二叉树;

采用后序遍历法,将提取出的所述至少一个属性值与生成的所述租户决策二叉树进行匹配;

根据匹配结果,获取该用户所属的租户组织。

在本发明一优选的实施例中,所述访问控制模块400用于:

根据获取的所述用户权限信息,判断该用户是否具备访问业务系统对应页面的预设层级功能菜单的权限;

若该用户具备对应的数据访问权限,则显示该业务系统对应页面的预设层级的功能菜单;

若该用户不具备对应的数据访问权限,则隐藏该业务系统对应页面的预设层级的功能菜单;

根据获取的所述用户权限信息,判断该用户是否具备对可访问的业务系统对应页面的预设层级功能菜单的各项操作权限;

若该用户具备对应的数据操作权限,则显示该业务系统对应页面的预设层级的可操作功能;

若该用户不具备对应的数据操作权限,则隐藏该业务系统对应页面的预设层级的功能操作按钮或提示不可操作;

根据获取的所述用户权限信息,判断该用户是否具备对可访问的业务系统对应页面的数据内容具备数据访问和操作权限;

若该用户具备对应的数据访问和操作权限,则显示该业务系统对应页面的预设层级的相应数据内容;

若该用户不具备对应的数据访问和操作权限,则不显示该业务系统对应页面的预设层级的无权限数据内容。

在本发明一优选的实施例中,所述角色识别模块100用于:

根据用户提交url请求地址对应的登录信息,查找所述关联关系表;

根据所述关联关系表的查找结果,获取该用户所属的用户角色;

其中,所述关联关系表为预先创建并存储的;所述关联关系表的创建包括:

根据预设的权限匹配规则,建立用户信息对应的用户角色、用户角色对应的功能信息以及功能信息对应的url请求地址之间的关联关系;

根据建立的所述关联关系以及用户信息、用户角色、功能信息和url请求地址,生成对应的关联关系表。

在本发明一优选的实施例中,所述租户识别模块200用于:

根据用户提交url请求地址对应的登录信息,查找所述关联关系表;

根据所述关联关系表的查找结果,获取该用户所属的租户组织;

其中,所述关联关系表为预先创建并存储的;所述关联关系表的创建包括:

根据预设的权限匹配规则,建立用户信息对应的用户租户组、用户租户对应的数据信息以及数据信息对应的url请求地址之间的关联关系;

根据建立的所述关联关系以及用户信息、用户租户组、数据信息和url请求地址,生成对应的关联关系表。

在本发明一优选的实施例中,所述访问控制模块400用于:

根据获取的所述用户权限信息,判断所述用户角色对应的功能信息与url请求地址对应的功能信息是否匹配;

若用户角色对应的功能信息与url请求地址对应的功能信息匹配,则访问该url请求地址对应的页面,并根据功能信息显示可操作的功能按钮或进行不可操作提示;

若用户角色对应的功能信息与url请求地址对应的功能信息不匹配,则对该url请求地址进行拦截处理;

根据获取的所述用户权限信息,判断所述用户对应的数据信息与url请求地址对应页面内展示的数据信息是否匹配;

若用户对应的数据信息与url请求地址对应页面内展示的数据信息匹配,则访问该url请求地址对应的页面内的数据内容;

若用户对应的数据信息与url请求地址对应页面内展示的数据信息不匹配,则不显示该url请求地址对应的页面内不匹配的数据内容。

本发明用户权限的控制系统通过获取发送数据访问请求的用户所对应的用户信息,根据所述用户信息,识别该用户所属的用户角色和租户组织;查找预先存储的关联关系表,根据查找结果,获取所述用户角色对应的用户权限信息;其中,所述关联关系表包括:用户角色、用户权限信息、用户角色和用户权限信息的关联关系、以及用户与租户组织的关联关系;根据获取的所述用户权限信息,控制该用户对应的数据访问权限和数据操作权限;达到了在细粒度权限管理层面上控制用户对资源实例的访问和操作权限、以及数据资源隔离的目的,提高了用户权限控制的灵活性和针对性。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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