一种用于后台管理的角色权限控制方法及装置与流程

文档序号:21888898发布日期:2020-08-18 17:38阅读:338来源:国知局
一种用于后台管理的角色权限控制方法及装置与流程

本发明属于计算机技术领域,具体地涉及一种用于后台管理的角色权限控制方法及装置。



背景技术:

在软件测试过程中,为了更好地提升测试工作效率,可专门为软件测试团队生成一个公用的测试平台。通过所述测试平台,不同的软件测试人员可在用户登录后对团队的软件项目进行新增、删除、修改、查阅和测试等操作,极大地方便了团队之间的人员合作。但是现有诸如软件测试平台等的网络平台在针对用户角色及权限的后台管理方面,还主要存在如下不足:

(1)有些网络平台没有做权限控制,所有操作人员都可通过相同的账号进行操作,导致不具备任何风险控制,例如,对软件测试平台提供的所有功能不做任何权限区分,普通用户和高级用户可具有相同的文件增删改查权限,存在巨大的信息安全隐患;

(2)有些网络平台是通过纯java框架加上前端技术来实现对角色和权限的控制,例如springmvc(一款优秀的、基于mvc思想的应用框架,它是spring的一个子框架),使用spring可插入的模型-视图-控制器(modelviewcontroller,mvc)架构,从而在使用spring进行web技术(即开发互联网应用的技术总称,一般包括web服务端技术和web客户端技术)开发时,可以选择使用spring的springmvc框架或集成其他mvc开发框架。但是大多数网络平台是以python作为技术栈来开发的,对于开发团队而言,再采用java框架作为后端技术实现,则会使开发成本较高,耗时较长,且需要更多地去考虑前后端功能的实现以及前后端的交互,难以随时地控制用户角色及权限。



技术实现要素:

为了解决现有网络平台在后台管理方面所存在的因角色权限控制实现方式复杂而导致难以随时地控制用户角色及权限的问题,本发明目的在于提供一种用于后台管理的角色权限控制方法、装置、计算机设备及计算机可读存储介质。

第一方面,本发明提供了一种用于后台管理的角色权限控制方法,包括:

检测管理员在后台管理的控制界面上进行的变更操作;其中,所述变更操作为用于对flask_admin后台管理角色表和/或flask_admin后台管理权限表进行变更的操作,所述flask_admin后台管理角色表和所述flask_admin后台管理权限表预先以集合形式存储在非关系型数据库mongodb中;

响应所述变更操作,通过对象文档映射器mongoengine对所述flask_admin后台管理角色表和/或所述flask_admin后台管理权限表进行变更,以得到变更后的后台管理角色表和/或变更后的后台管理权限表。

基于上述发明内容,提供了一种结合对象文档映射器mongoengine对flask_admin网络平台进行角色和/或权限变更控制的新方法,即不但由于mongoengine是用python编写的,对于以python作为技术栈来开发flask_admin网络平台的软件测试团队而言,可以无需考虑前后端功能的实现以及前后端的交互,大大减低了实现角色权限控制的难度和成本,还相比较于将具有关联特性的角色表和权限表存储在诸如mysql等的关系型数据库中进行后台管理控制的技术方案,可结合mongoengine对非关系型数据库mongodb能够快速处理数据的特点,快速响应对角色信息和/或权限信息进行创建、删除或修改的变更操作,充分提升对flask_admin网络平台的后台管理能力,便于实际应用和推广。此外,前述角色权限控制方法可应用在基于flask_admin架构的软件测试平台中,实现对不同功能/页面进行不同权限管理的目的,进而对不同角色的软件测试人员进行安全隔离,并且对于软件测试的管理员来说,还可以动态地更改软件测试人员的角色和权限,实施更有效的管控。

在一个可能的设计中,若所述变更操作为用于对flask_admin后台管理用户表进行变更以及对所述flask_admin后台管理角色表和/或所述flask_admin后台管理权限表进行变更的操作,所述flask_admin后台管理用户表预先以集合形式存储在所述mongodb中;

响应所述变更操作,包括:通过所述对象文档映射器,对所述flask_admin后台管理用户表进行变更,以及对所述flask_admin后台管理角色表和/或所述flask_admin后台管理权限表进行变更,以得到变更后的后台管理用户表以及变更后的后台管理角色表和/或变更后的后台管理权限表。

通过上述设计,可进一步将变更控制范围拓展到对用户信息的变更控制,提升后台管理的灵活性和实用性。

在一个可能的设计中,所述方法还包括:

接收用户在用户操作界面上触发的操作请求;

从所述mongodb中获取flask_admin后台管理用户表、所述flask_admin后台管理角色表以及所述flask_admin后台管理权限表,其中,所述flask_admin后台管理用户表预先以集合形式存储在所述mongodb中;

根据所述flask_admin后台管理用户表、所述flask_admin后台管理角色表以及所述flask_admin后台管理权限表之间的关联关系,确定与所述用户对应的flask_admin后台管理权限;

根据所述flask_admin后台管理权限确定是否响应所述操作请求。

通过前述设计,可以在用户登录网络平台后,实现依据用户权限而响应用户操作请求的目的,确保flask_admin网络平台能够正常为用户提供各种/各类网络服务支持和网络服务活动。

在一个可能的设计中,所述flask_admin后台管理用户表中的任一用户信息包含有用于标识任一用户的标识信息和与所述flask_admin后台管理角色表关联的角色关联字段;

所述flask_admin后台管理角色表中的任一角色信息包含有与所述flask_admin后台管理权限表关联的权限关联字段;

根据所述flask_admin后台管理用户表、所述flask_admin后台管理角色表以及所述flask_admin后台管理权限表之间的关联关系,确定与所述用户对应的flask_admin后台管理权限,包括:

根据所述操作请求中携带的所述用户的标识信息,从所述flask_admin后台管理用户表中确定与所述标识信息匹配的flask_admin后台管理用户;

根据与所述flask_admin后台管理用户对应的角色关联字段,从所述flask_admin后台管理角色表中确定与所述角色关联字段对应的flask_admin后台管理角色;

根据与所述flask_admin后台管理角色对应的权限关联字段,从所述flask_admin后台管理权限表中确定与所述权限关联字段对应的flask_admin后台管理权限。

通过上述设计,可确保在用户操作前,使平台服务器能够根据操作请求中的标识信息,精确地实时得到当前请求用户的权限信息,以便及时进行操作权限判断。

在一个可能的设计中,所述任一用户信息还包含用于表征所述任一用户的用户名字段;

所述任一角色信息还包含用于表征任一角色的角色类型的字段和所述任一角色的角色描述的字段;

所述flask_admin后台管理权限表中的任一权限信息包含任一权限的权限描述的字段。

通过上述设计,可以方便管理员随时查看或理解关于用户、角色和权限的具体含义,使多个不同管理员能够对后台管理工作保持一致,确保后台管理工作的可延续性。

在一个可能的设计中,若所述变更操作为对多个目标信息进行批量地删除或相同内容修改以及对所述flask_admin后台管理角色表和/或所述flask_admin后台管理权限表进行变更的操作,其中,所述多个目标信息包括flask_admin后台管理用户表中的至少一个用户信息、所述flask_admin后台管理角色表中的至少一个角色信息和所述flask_admin后台管理权限表中的至少一个权限信息中的任意组合,所述flask_admin后台管理用户表预先以集合形式存储在所述mongodb中;

响应所述变更操作,包括:通过所述对象文档映射器,根据共有查询条件信息从所述mongodb中查找到所述多个目标信息并进行批量地删除或相同内容修改,以及对所述flask_admin后台管理角色表和/或所述flask_admin后台管理权限表进行变更,以得到变更后的后台管理用户表、变更后的后台管理角色表和/或变更后的后台管理权限表,其中,所述共有查询条件信息为所述多个目标信息共有的特征信息并携带在所述变更操作中。

通过上述设计,可以根据所述共有查询条件信息查找到多个目标信息,并对它们进行批量地删除或相同内容修改,进一步方便实用,提升管理员体验。

第二方面,本发明提供了一种用于后台管理的角色权限控制装置,包括通信相连的变更操作检测单元和变更操作响应单元;

所述变更操作检测单元,用于检测管理员在后台管理的控制界面上进行的变更操作;其中,所述变更操作包括用于对flask_admin后台管理角色表和/或flask_admin后台管理权限表进行变更的操作,所述flask_admin后台管理角色表和所述flask_admin后台管理权限表预先以集合形式存储在非关系型数据库mongodb中;

所述变更操作响应单元,用于响应所述变更操作,通过对象文档映射器mongoengine对所述flask_admin后台管理角色表和/或所述flask_admin后台管理权限表进行变更,以得到变更后的后台管理角色表和/或变更后的后台管理权限表。

在一个可能的设计中,所述变更操作响应单元,还用于在所述变更操作为用于对flask_admin后台管理用户表进行变更以及对所述flask_admin后台管理角色表和/或所述flask_admin后台管理权限表进行变更的操作时,响应所述变更操作,通过所述对象文档映射器,对所述flask_admin后台管理用户表进行变更,以及对所述flask_admin后台管理角色表和/或所述flask_admin后台管理权限表进行变更,以得到变更后的后台管理用户表以及变更后的后台管理角色表和/或变更后的后台管理权限表,其中,所述flask_admin后台管理用户表预先以集合形式存储在所述mongodb中。

在一个可能的设计中,还包括接收单元、获取单元、确权单元和操作请求响应单元;

所述接收单元,用于接收用户在用户操作界面上触发的操作请求;

所述获取单元,通信连接所述接收单元,用于从所述mongodb中获取flask_admin后台管理用户表、所述flask_admin后台管理角色表以及所述flask_admin后台管理权限表,其中,所述flask_admin后台管理用户表预先以集合形式存储在所述mongodb中;

所述确权单元,通信连接所述获取单元,用于根据所述flask_admin后台管理用户表、所述flask_admin后台管理角色表以及所述flask_admin后台管理权限表之间的关联关系,确定与所述用户对应的flask_admin后台管理权限;

所述操作请求响应单元,分别通信连接所述接收单元和所述确权单元,用于根据所述flask_admin后台管理权限确定是否响应所述操作请求。

在一个可能的设计中,所述flask_admin后台管理用户表中的任一用户信息包含有用于标识任一用户的标识信息和与所述flask_admin后台管理角色表关联的角色关联字段;

所述flask_admin后台管理角色表中的任一角色信息包含有与所述flask_admin后台管理权限表关联的权限关联字段;

所述获取单元包括有请求用户确定子单元、用户角色确定子单元和用户权限确定子单元;

所述请求用户确定子单元,通信连接所述接收单元,用于根据所述操作请求中携带的所述用户的标识信息,从所述flask_admin后台管理用户表中确定与所述标识信息匹配的flask_admin后台管理用户;

所述用户角色确定子单元,通信连接所述请求用户确定子单元,用于根据与所述flask_admin后台管理用户对应的角色关联字段,从所述flask_admin后台管理角色表中确定与所述角色关联字段对应的flask_admin后台管理角色;

所述用户权限确定子单元,通信连接所述用户角色确定子单元,用于根据与所述flask_admin后台管理角色对应的权限关联字段,从所述flask_admin后台管理权限表中确定与所述权限关联字段对应的flask_admin后台管理权限。

在一个可能的设计中,所述任一用户信息还包含用于表征所述任一用户的用户名字段;

所述任一角色信息还包含用于表征任一角色的角色类型的字段和所述任一角色的角色描述的字段;

所述flask_admin后台管理权限表中的任一权限信息包含任一权限的权限描述的字段。

在一个可能的设计中,若所述变更操作为对多个目标信息进行批量地删除或相同内容修改以及对所述flask_admin后台管理角色表和/或所述flask_admin后台管理权限表进行变更的操作,其中,所述多个目标信息包括flask_admin后台管理用户表中的至少一个用户信息、所述flask_admin后台管理角色表中的至少一个角色信息和所述flask_admin后台管理权限表中的至少一个权限信息中的任意组合,所述flask_admin后台管理用户表预先以集合形式存储在所述mongodb中;

所述变更操作响应单元,还用于通过所述对象文档映射器,根据共有查询条件信息从所述mongodb中查找到所述多个目标信息并进行批量地删除或相同内容修改,以及对所述flask_admin后台管理角色表和/或所述flask_admin后台管理权限表进行变更,以得到变更后的后台管理用户表、变更后的后台管理角色表和/或变更后的后台管理权限表,其中,所述共有查询条件信息为所述多个目标信息共有的特征信息并携带在所述变更操作中。

第三方面,本发明提供了一种计算机设备,包括通信相连的存储器和处理器,其中,所述存储器用于存储计算机程序,所述处理器用于读取所述计算机程序,执行如上第一方面或第一方面中任意一种可能设计的所述角色权限控制方法。

第四方面,本发明提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,当所述指令在计算机上运行时,使所述计算机执行如上第一方面或第一方面中任意一种可能设计的所述角色权限控制方法。

第五方面,本发明提供了一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使所述计算机执行如上第一方面或第一方面中任意一种可能设计的所述角色权限控制方法。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明提供的用于后台管理的角色权限控制方法的流程示意图。

图2是本发明提供的用于后台管理的角色权限控制装置的结构示意图。

图3是本发明提供的计算机设备的结构示意图。

具体实施方式

下面结合附图及具体实施例来对本发明作进一步阐述。在此需要说明的是,对于这些实施例方式的说明虽然是用于帮助理解本发明,但并不构成对本发明的限定。本文公开的特定结构和功能细节仅用于描述本发明的示例实施例。然而,可用很多备选的形式来体现本发明,并且不应当理解为本发明限制在本文阐述的实施例中。

应当理解,尽管本文可能使用术语第一、第二等等来描述各种单元,但是这些单元不应当受到这些术语的限制。这些术语仅用于区分一个单元和另一个单元。例如可以将第一单元称作第二单元,并且类似地可以将第二单元称作第一单元,同时不脱离本发明的示例实施例的范围。

应当理解,对于本文中可能出现的术语“和/或”,其仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,单独存在b,同时存在a和b三种情况;对于本文中可能出现的术语“/和”,其是描述另一种关联对象关系,表示可以存在两种关系,例如,a/和b,可以表示:单独存在a,单独存在a和b两种情况;另外,对于本文中可能出现的字符“/”,一般表示前后关联对象是一种“或”关系。

应当理解,在本文中若将单元称作与另一个单元“连接”、“相连”或“耦合”时,它可以与另一个单元直相连接或耦合,或中间单元可以存在。相対地,在本文中若将单元称作与另一个单元“直接相连”或“直接耦合”时,表示不存在中间单元。另外,应当以类似方式来解释用于描述单元之间的关系的其他单词(例如,“在……之间”对“直接在……之间”,“相邻”对“直接相邻”等等)。

应当理解,本文使用的术语仅用于描述特定实施例,并不意在限制本发明的示例实施例。若本文所使用的,单数形式“一”、“一个”以及“该”意在包括复数形式,除非上下文明确指示相反意思。还应当理解,若术语“包括”、“包括了”、“包含”和/或“包含了”在本文中被使用时,指定所声明的特征、整数、步骤、操作、单元和/或组件的存在性,并且不排除一个或多个其他特征、数量、步骤、操作、单元、组件和/或他们的组合存在性或增加。

应当理解,还应当注意到在一些备选可能设计中,所出现的功能/动作可能与附图出现的顺序不同。例如,取决于所涉及的功能/动作,实际上可以实质上并发地执行,或者有时可以以相反的顺序来执行连续示出的两个图。

应当理解,在下面的描述中提供了特定的细节,以便于对示例实施例的完全理解。然而,本领域普通技术人员应当理解可以在没有这些特定细节的情况下实现示例实施例。例如可以在框图中示出系统,以避免用不必要的细节来使得示例不清楚。在其他实例中,可以不以非必要的细节来示出众所周知的过程、结构和技术,以避免使得示例实施例不清楚。

如图1所示,本实施例第一方面提供的所述用于后台管理的角色权限控制方法,用于在服务器侧执行,可以但不限于包括有如下步骤s101~s102。

s101.检测管理员在后台管理的控制界面上进行的变更操作;其中,所述变更操作为用于对flask_admin后台管理角色表和/或flask_admin后台管理权限表进行变更的操作,所述flask_admin后台管理角色表和所述flask_admin后台管理权限表预先以集合形式存储在非关系型数据库mongodb中。

在所述步骤s101中,所述控制界面即为面向管理员的人机交互界面,硬件实体可以但不限于为智能手机显示屏或计算机显示屏等,软件实体可以但不限于为网页页面或程序页面等。所述flask_admin后台管理角色表、所述flask_admin后台管理权限表和flask_admin后台管理用户表均是基于flask_admin框架而搭建后台管理系统所要用到的关键信息,以便在用户触发操作请求时,可根据对应用户的角色权限进行相应的请求响应,从而实现角色及权限的控制,例如在登录基于flask_admin框架而搭建的软件测试平台(即后台管理系统)时,可以实现对不同测试角色人员进行不同的权限控制,从而达到了一定的风险管控。

在所述步骤s101中,所述flask_admin后台管理用户表用于记录不同用户的个体详细信息,其中的任一用户信息可以但不限于包含有用于标识任一用户的标识信息、与所述flask_admin后台管理角色表关联的角色关联字段和用于表征所述任一用户的用户名字段等,所述标识信息可以但不限于包含有用户唯一标识符等,所述角色关联字段的记载内容可以是一对一的用户角色关系,也可以为一对多的用户角色关系,即一个用户可以对应多个不同角色。所述flask_admin后台管理角色表用于记录不同角色的个体详细信息,其中的任一角色信息可以但不限于包含有与所述flask_admin后台管理权限表关联的权限关联字段、用于表征任一角色的角色类型的字段和所述任一角色的角色描述的字段等,所述权限关联字段的记载内容可以是一对一的角色权限关系,也可以为一对多的角色权限关系,即一个角色可以对应多个不同权限,例如对于高级角色,可以同时拥有访问页面、创建页面、修改页面和删除页面的权限,等等。所述flask_admin后台管理权限表用于记录不同权限的个体详细信息,其中的任一权限信息可以但不限于包含任一权限的权限描述的字段等,所述权限描述的字段的具体内容可举例为:是否可访问、是否可创建和是否可更改等,另外,所述权限信息还可以包含有与之关联角色的所述角色类型的字段和所述角色描述的字段。前述的flask_admin后台管理角色表、flask_admin后台管理权限表和flask_admin后台管理用户表都会预先以集合形式存储在非关系型数据库mongodb中,使得这些表中的各条记录信息(即用户信息、角色信息和权限信息)以mongoengine文档形式存在,因此可通过所述对象文档映射器mongoengine(一个用python编写的且用于处理mongo数据库的对象文档映射器)来对各个表中的记录信息进行读写操作。

在所述步骤s101中,所述控制界面除了用于展示所述flask_admin后台管理角色表和所述flask_admin后台管理权限表之外,还可以用于提供对这些表的在线变更操作功能,即使管理员能够在后台管理的控制界面上进行如下方式(a)和/或(b)的变更操作:(a)针对所述flask_admin后台管理角色表,新建一个角色信息,删除一个角色信息,以及对任一角色信息中的权限关联字段、角色类型的字段和/或角色描述的字段进行内容更变,等等,进而实现对角色的变更控制;(b)针对所述flask_admin后台管理权限表,新建一个权限信息、删除一个权限信息,以及对任一权限信息中的权限描述的字段进行内容变更,等等,进而实现对权限的变更控制。

在所述步骤s101中,所述检测动作可通过模型-视图-控制器mvc架构(即是一种实现业务逻辑、数据和界面显示分离的现有软件架构,从上至下依次包括有视图层、控制层和模型层)中的视图层来实现,以便在检测到所述变更操作后,可经控制层将所述变更操作传送至模型层,最后在所述模型层中响应所述变更操作。由此可以基于mvc架构所具有对业务逻辑、数据和界面显示进行分离的特点,使得管理员在通过人机交互发起变更操作时,仅需在由视图层提供的控制界面上进行简单操作即可,而不需要重新编写业务逻辑,进而大大方便管理员完成对角色权限的随时控制,提升管理员体验。此外,在所述步骤s101之前,为了方便展示和变更,需要对所述flask_admin后台管理角色表和/或所述flask_admin后台管理权限表进行数据库读取,即具体的,可由所述模型层来利用所述对象文档映射器mongoengine读取前述表,然后经过所述控制层将读取内容传递给所述视图层,最后实现在所述控制界面上进行展示的目的。

s102.响应所述变更操作,通过对象文档映射器mongoengine对所述flask_admin后台管理角色表和/或所述flask_admin后台管理权限表进行变更,以得到变更后的后台管理角色表和/或变更后的后台管理权限表。

在所述步骤s102中,具体的变更操作方式即为通过所述对象文档映射器mongoengine,在所述mongo数据库中对与所述flask_admin后台管理角色表和/或所述flask_admin后台管理权限表对应的mongoengine文档进行写操作,进而完成管理员所期望的且进行方式(a)和/或(b)的变更操作。

由此通过前述步骤s101~s102所详细描述的角色权限控制方法,提供了一种结合对象文档映射器mongoengine对flask_admin网络平台进行角色和/或权限变更控制的新方法,即不但由于mongoengine是用python编写的,对于以python作为技术栈来开发flask_admin网络平台的软件测试团队而言,可以无需考虑前后端功能的实现以及前后端的交互,大大减低了实现角色权限控制的难度和成本,还相比较于将具有关联特性的角色表和权限表存储在诸如mysql等的关系型数据库中进行后台管理控制的技术方案,可结合mongoengine对非关系型数据库mongodb能够快速处理数据的特点,快速响应对角色信息和/或权限信息进行创建、删除或修改的变更操作,充分提升对flask_admin网络平台的后台管理能力,便于实际应用和推广。此外,前述角色权限控制方法可应用在基于flask_admin架构的软件测试平台中,实现对不同功能/页面进行不同权限管理的目的,进而对不同角色的软件测试人员进行安全隔离,并且对于软件测试的管理员来说,还可以动态地更改软件测试人员的角色和权限,实施更有效的管控。

本实施例在前述第一方面的基础上,还具体提出了一种可对用于后台管理的用户信息进行变更控制的可能设计一,即若所述变更操作为用于对flask_admin后台管理用户表进行变更以及对所述flask_admin后台管理角色表和/或所述flask_admin后台管理权限表进行变更的操作;响应所述变更操作,包括:通过所述对象文档映射器,对所述flask_admin后台管理用户表进行变更,以及对所述flask_admin后台管理角色表和/或所述flask_admin后台管理权限表进行变更,以得到变更后的后台管理用户表以及变更后的后台管理角色表和/或变更后的后台管理权限表。具体的,所述控制界面除了还用于展示所述flask_admin后台管理用户表之外,还可以用于提供对所述flask_admin后台管理用户表的在线变更操作功能,即使管理员在后台管理的控制界面上进行方式(a)和/或(b)的变更操作基础上,还能够进行方式(c)的变更操作:(c)针对所述flask_admin后台管理用户表,新建一个用户信息,删除一个用户信息,以及对任一用户信息中的标识信息、角色关联字段和/或用户名字段进行内容更变,等等,进而实现对用户的变更控制。由此通过前述设计,可进一步将变更控制范围拓展到对用户信息的变更控制,提升后台管理的灵活性和实用性。

本实施例在前述第一方面的基础上,还具体提出了一种可对多个目标信息进行批量变更控制的可能设计二,即若所述变更操作为对多个目标信息进行批量地删除或相同内容修改以及对所述flask_admin后台管理角色表和/或所述flask_admin后台管理权限表进行变更的操作,其中,所述多个目标信息包括flask_admin后台管理用户表中的至少一个用户信息、所述flask_admin后台管理角色表中的至少一个角色信息和所述flask_admin后台管理权限表中的至少一个权限信息中的任意组合,所述flask_admin后台管理用户表预先以集合形式存储在所述mongodb中;响应所述变更操作,包括:通过所述对象文档映射器,根据共有查询条件信息从所述mongodb中查找到所述多个目标信息并进行批量地删除或相同内容修改,以及对所述flask_admin后台管理角色表和/或所述flask_admin后台管理权限表进行变更,以得到变更后的后台管理用户表、变更后的后台管理角色表和/或变更后的后台管理权限表,其中,所述共有查询条件信息为所述多个目标信息共有的特征信息并携带在所述变更操作中。举例的,所述多个目标信息可包括有六个用户信息、三个角色信息和一个权限信息,若在这些信息的字段中存在特定关键词(即为其它信息所不具有的关键词),并且需要被删除或进行相同内容修改,即可将所述特定关键词作为所述共有查询条件信息,然后根据共有查询条件信息从所述mongodb中查找到所述多个目标信息,最后进行批量地删除或相同内容修改。由此通过前述设计,还可以根据所述共有查询条件信息查找到多个目标信息,并对它们进行批量地删除或相同内容修改,进一步方便实用,提升管理员体验。

本实施例在前述第一方面的基础上,还具体提出了一种基于后台管理用户表、后台管理角色表和后台管理权限表对用户操作请求进行后台响应的可能设计三,即所述角色权限控制方法还包括但不限于有如下步骤s201~s204。

s201.接收用户在用户操作界面上触发的操作请求。

在所述步骤s201中,所述用户操作界面即为面向用户的人机交互界面,硬件实体可以但不限于为智能手机显示屏或计算机显示屏等,软件实体可以但不限于为网页页面或程序页面等。所述操作请求可以但限于包括有请求访问页面、请求创建新页面、请求修改页面和请求删除旧页面等具体内容,等等。此外,若是在所述mcv架构中提供面向用户的访问服务,所述接收动作同样可以通过所述视图层来实现。

s202.从所述mongodb中获取flask_admin后台管理用户表、所述flask_admin后台管理角色表以及所述flask_admin后台管理权限表。

在所述步骤s202中,所述获取的具体方式为利用所述对象文档映射器mongoengine对所述mongo数据库中的且与所述flask_admin后台管理用户表、所述flask_admin后台管理角色表以及所述flask_admin后台管理权限表对应的mongoengine文档进行读操作。此外,若是在所述mcv架构中提供面向用户的访问服务,所述获取动作可在所述控制层的控制下,启动所述模型层来实现。

s203.根据所述flask_admin后台管理用户表、所述flask_admin后台管理角色表以及所述flask_admin后台管理权限表之间的关联关系,确定与所述用户对应的flask_admin后台管理权限。

在所述步骤s203中,所述确定的具体方式可以但不限于包括有如下步骤s2031~s2033:s2031.根据所述操作请求中携带的所述用户的标识信息,从所述flask_admin后台管理用户表中确定与所述标识信息匹配的flask_admin后台管理用户;s2032.根据与所述flask_admin后台管理用户对应的角色关联字段,从所述flask_admin后台管理角色表中确定与所述角色关联字段对应的flask_admin后台管理角色;s2033.根据与所述flask_admin后台管理角色对应的权限关联字段,从所述flask_admin后台管理权限表中确定与所述权限关联字段对应的flask_admin后台管理权限。通过前述步骤s2031~s2033,可确保在用户操作前,使平台服务器能够根据操作请求中的标识信息,精确地实时得到当前请求用户的权限信息,以便及时进行操作权限判断。此外,若是在所述mcv架构中提供面向用户的访问服务,所述确定动作可通过所述控制层来实现。

s204.根据所述flask_admin后台管理权限确定是否响应所述操作请求。

在所述步骤s204中,所述确定是否享有所述操作请求的方式,具体可为根据所述flask_admin后台管理权限判断当前用户是否有与操作请求相应的权限,若有则在所述用户操作界面上展示操作请求成功消息,并提供相应的操作请求响应,否则在所述用户操作界面上展示操作请求失败消息。

由此通过前述步骤s201~s204的设计,可以在用户登录网络平台后,实现依据用户权限而响应用户操作请求的目的,确保flask_admin网络平台能够正常为用户提供各种/各类网络服务支持和网络服务活动。

如图2所示,本实施例第二方面提供了一种实现第一方面或第一方面中任意一种可能设计所述角色权限控制方法的虚拟装置,包括通信相连的变更操作检测单元和变更操作响应单元;

所述变更操作检测单元,用于检测管理员在后台管理的控制界面上进行的变更操作;其中,所述变更操作包括用于对flask_admin后台管理角色表和/或flask_admin后台管理权限表进行变更的操作,所述flask_admin后台管理角色表和所述flask_admin后台管理权限表预先以集合形式存储在非关系型数据库mongodb中;

所述变更操作响应单元,用于响应所述变更操作,通过对象文档映射器mongoengine对所述flask_admin后台管理角色表和/或所述flask_admin后台管理权限表进行变更,以得到变更后的后台管理角色表和/或变更后的后台管理权限表。

在一个可能的设计中,所述变更操作响应单元,还用于在所述变更操作为用于对flask_admin后台管理用户表进行变更以及对所述flask_admin后台管理角色表和/或所述flask_admin后台管理权限表进行变更的操作时,响应所述变更操作,通过所述对象文档映射器,对所述flask_admin后台管理用户表进行变更,以及对所述flask_admin后台管理角色表和/或所述flask_admin后台管理权限表进行变更,以得到变更后的后台管理用户表以及变更后的后台管理角色表和/或变更后的后台管理权限表,其中,所述flask_admin后台管理用户表预先以集合形式存储在所述mongodb中。

在一个可能的设计中,还包括接收单元、获取单元、确权单元和操作请求响应单元;

所述接收单元,用于接收用户在用户操作界面上触发的操作请求;

所述获取单元,通信连接所述接收单元,用于从所述mongodb中获取flask_admin后台管理用户表、所述flask_admin后台管理角色表以及所述flask_admin后台管理权限表,其中,所述flask_admin后台管理用户表预先以集合形式存储在所述mongodb中;

所述确权单元,通信连接所述获取单元,用于根据所述flask_admin后台管理用户表、所述flask_admin后台管理角色表以及所述flask_admin后台管理权限表之间的关联关系,确定与所述用户对应的flask_admin后台管理权限;

所述操作请求响应单元,分别通信连接所述接收单元和所述确权单元,用于根据所述flask_admin后台管理权限确定是否响应所述操作请求。

在一个可能的设计中,所述flask_admin后台管理用户表中的任一用户信息包含有用于标识任一用户的标识信息和与所述flask_admin后台管理角色表关联的角色关联字段;

所述flask_admin后台管理角色表中的任一角色信息包含有与所述flask_admin后台管理权限表关联的权限关联字段;

所述获取单元包括有请求用户确定子单元、用户角色确定子单元和用户权限确定子单元;

所述请求用户确定子单元,通信连接所述接收单元,用于根据所述操作请求中携带的所述用户的标识信息,从所述flask_admin后台管理用户表中确定与所述标识信息匹配的flask_admin后台管理用户;

所述用户角色确定子单元,通信连接所述请求用户确定子单元,用于根据与所述flask_admin后台管理用户对应的角色关联字段,从所述flask_admin后台管理角色表中确定与所述角色关联字段对应的flask_admin后台管理角色;

所述用户权限确定子单元,通信连接所述用户角色确定子单元,用于根据与所述flask_admin后台管理角色对应的权限关联字段,从所述flask_admin后台管理权限表中确定与所述权限关联字段对应的flask_admin后台管理权限。

在一个可能的设计中,所述任一用户信息还包含用于表征所述任一用户的用户名字段;

所述任一角色信息还包含用于表征任一角色的角色类型的字段和所述任一角色的角色描述的字段;

所述flask_admin后台管理权限表中的任一权限信息包含任一权限的权限描述的字段。

在一个可能的设计中,若所述变更操作为对多个目标信息进行批量地删除或相同内容修改以及对所述flask_admin后台管理角色表和/或所述flask_admin后台管理权限表进行变更的操作,其中,所述多个目标信息包括flask_admin后台管理用户表中的至少一个用户信息、所述flask_admin后台管理角色表中的至少一个角色信息和所述flask_admin后台管理权限表中的至少一个权限信息中的任意组合,所述flask_admin后台管理用户表预先以集合形式存储在所述mongodb中;

所述变更操作响应单元,还用于通过所述对象文档映射器,根据共有查询条件信息从所述mongodb中查找到所述多个目标信息并进行批量地删除或相同内容修改,以及对所述flask_admin后台管理角色表和/或所述flask_admin后台管理权限表进行变更,以得到变更后的后台管理用户表、变更后的后台管理角色表和/或变更后的后台管理权限表,其中,所述共有查询条件信息为所述多个目标信息共有的特征信息并携带在所述变更操作中。

本实施例第二方面提供的前述装置的工作过程、工作细节和技术效果,可以参见第一方面或第一方面中任意一种可能设计所述的角色权限控制方法,于此不再赘述。

如图3所示,本实施例第三方面提供了一种执行第一方面或第一方面中任意一种可能设计所述角色权限控制方法的计算机设备,包括通信相连的存储器和处理器,其中,所述存储器用于存储计算机程序,所述处理器用于读取所述计算机程序,执行如上第一方面或第一方面中任意一种可能设计的所述角色权限控制方法。具体举例的,所述存储器可以但不限于包括随机存取存储器(ram,random-accessmemory)、只读存储器(rom,read-onlymemory)、闪存(flashmemory)、先进先出存储器(fifo,firstinputfirstoutput)和/或先进后出存储器(filo,firstinputlastoutput)等等;所述处理器可以不限于采用型号采用stm32f105系列的微处理器。此外,所述计算机设备还可以但不限于包括有电源模块、显示屏和其它必要的部件。

本实施例第三方面提供的前述计算机设备的工作过程、工作细节和技术效果,可以参见第一方面或第一方面中任意一种可能设计所述的角色权限控制方法,于此不再赘述。

本实施例第四方面提供了一种存储包含第一方面或第一方面中任意一种可能设计所述角色权限控制方法的指令的计算机可读存储介质,即所述计算机可读存储介质上存储有指令,当所述指令在计算机上运行时,执行如第一方面或第一方面中任意一种可能设计所述的角色权限控制方法。其中,所述计算机可读存储介质是指存储数据的载体,可以但不限于包括软盘、光盘、硬盘、闪存、优盘和/或记忆棒(memorystick)等,所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。

本实施例第四方面提供的前述计算机可读存储介质的工作过程、工作细节和技术效果,可以参见第一方面或第一方面中任意一种可能设计所述的角色权限控制方法,于此不再赘述。

本实施例第五方面提供了一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使所述计算机执行如第一方面或第一方面中任意一种可能设计所述的角色权限控制方法。其中,所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。

以上所描述的实施例仅仅是示意性的,若涉及到作为分离部件说明的单元,其可以是或者也可以不是物理上分开的;若涉及到作为单元显示的部件,其可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。

最后应说明的是,本发明不局限于上述可选的实施方式,任何人在本发明的启示下都可得出其他各种形式的产品。上述具体实施方式不应理解成对本发明的保护范围的限制,本发明的保护范围应当以权利要求书中界定的为准,并且说明书可以用于解释权利要求书。

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