CN111343172A - 网络访问权限动态处理方法及装置 - Google Patents
网络访问权限动态处理方法及装置 Download PDFInfo
- Publication number
- CN111343172A CN111343172A CN202010103854.8A CN202010103854A CN111343172A CN 111343172 A CN111343172 A CN 111343172A CN 202010103854 A CN202010103854 A CN 202010103854A CN 111343172 A CN111343172 A CN 111343172A
- Authority
- CN
- China
- Prior art keywords
- user
- authority
- role
- network
- determining
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本申请实施例提供一种网络访问权限动态处理方法及装置,方法包括:接收用户发送的网络请求,并根据所述网络请求确定对应的用户角色;根据所述用户角色和预设配置源,确定与所述用户角色对应的用户权限;若所述用户权限满足与所述网络请求对应的网络资源的权限要求,则返回所述网络资源,否则执行预设未授权处理操作;本申请能够有效降低服务器进行权限验证时的耦合度,使权限验证操作更加简单、高效。
Description
技术领域
本申请涉及数据处理领域,具体涉及一种网络访问权限动态处理方法及装置。
背景技术
Web,即万维网、全球广域网(World Wide Web),是由超链接和统一资源标志符连接的文件和其他资源的全球集合。Web是信息时代发展的核心,也是全球数十亿人在互联网上进行交互的主要工具。它可以包含文字、图片、影音和软件组件等内容,这些内容会在用户的网络内容浏览程序中呈现。纵使随着软硬件技术的不断发展和更新,出现了浏览器以外的许多新形式的互联网内容获得方式,如手机应用、游戏软件、微信小程序等等,但在其背后仍然是无数的基于网络访问的内容服务,向用户传输各种形态的数字内容。
Web服务的核心特点之一在于通过URL(Uniform Resource Locator,统一资源定位符)地址来访问指定资源。一般地,每个独立资源都有其独立的URL地址来标识。另外,有时根据不同应用服务的特点和要求,我们也会通过结合传输协议中其他可自定义数据来标识单个独立资源,如在Web服务基于的HTTP(Hypertext Transform Protocol,超文本传输协议)协议中,我们会在请求头或者请求体中写入特定自定义数据来标识单个资源,此时我们可以把多者(URL、请求头、请求体)整体结合起来看作成一个资源地址,其标识了一个独立资源。
由于Web服务是在网络上公开发布的,也就是说,理论上在网络中的任何人均可以请求访问服务所提供的所有资源,而实际情况是大多数服务都会有部分资源只提供给少数特定的用户访问,更为复杂和普遍的情况是即使是同一用户使用不同身份时也会有不同限制。那么如何来控制资源访问的权限就是一个很重要的话题了。
一般地,我们在进行资源访问的权限判断时,会在访问进来后根据具体的执行逻辑是否涉及相关资源来判断当前访问是否被允许,进而进一步执行后续逻辑。在这个过程中,涉及到三个主要环节:当前用户是什么权限、当前资源需要哪些权限和当前用户权限是否包含当前资源所需要的权限。这一过程传统的实现方式是在涉及到权限限制的资源获取程序中写入各种判断逻辑,就地处理和响应请求。这样做虽然可以精确实现权限控制,但无疑增加了逻辑的耦合度,将权限逻辑耦合进了业务逻辑,使得程序编写和维护更为复杂,同时这样做也无法对权限精确地动态维护,即在不修改和重启程序的情况下变动权限。
发明内容
针对现有技术中的问题,本申请提供一种网络访问权限动态处理方法及装置,能够有效降低服务器进行权限验证时的耦合度,使权限验证操作更加简单、高效。
为了解决上述问题中的至少一个,本申请提供以下技术方案:
第一方面,本申请提供一种网络访问权限动态处理方法,包括:
接收用户发送的网络请求,并根据所述网络请求确定对应的用户角色;
根据所述用户角色和预设配置源,确定与所述用户角色对应的用户权限;
若所述用户权限满足与所述网络请求对应的网络资源的权限要求,则返回所述网络资源,否则执行预设未授权处理操作。
进一步地,所述接收用户发送的网络请求,并根据所述网络请求确定对应的用户角色,包括:
根据所述网络请求中的用户账户信息和预设访问者角色查询接口,确定所述用户的用户角色。
进一步地,所述根据所述用户角色和预设配置源,确定与所述用户角色对应的用户权限,包括:
根据所述用户角色和所述预设配置源中存储有角色与权限的对应关系的静态文件,确定与所述用户角色对应的用户权限。
进一步地,所述根据所述用户角色和预设配置源,确定与所述用户角色对应的用户权限,包括:
根据所述用户角色和所述预设配置源中存储有角色与权限的对应关系的本地数据库,确定与所述用户角色对应的用户权限。
进一步地,在所述根据所述用户角色和预设配置源,确定与所述用户角色对应的用户权限之前,包括:
接收管理员发送的所述角色与权限的对应关系的修改信息,并根据所述修改信息更新所述配置源。
进一步地,所述若所述用户权限满足与所述网络请求对应的网络资源的权限要求,则返回所述网络资源,包括:
若所述用户权限满足与所述网络请求对应的网络资源的权限要求,则判定所述网络请求的权限验证通过,并执行相应业务处理;
根据所述业务处理的结果得到所述网络资源并向所述用户返回所述网络资源。
第二方面,本申请提供一种网络访问权限动态处理装置,包括:
用户角色确定模块,用于接收用户发送的网络请求,并根据所述网络请求确定对应的用户角色;
用户权限确定模块,用于根据所述用户角色和预设配置源,确定与所述用户角色对应的用户权限;
权限判定处理模块,用于若所述用户权限满足与所述网络请求对应的网络资源的权限要求,则返回所述网络资源,否则执行预设未授权处理操作。
进一步地,所述用户角色确定模块包括:
访问者角色查询单元,用于根据所述网络请求中的用户账户信息和预设访问者角色查询接口,确定所述用户的用户角色。
进一步地,所述用户权限确定模块包括:
静态文件匹配单元,用于根据所述用户角色和所述预设配置源中存储有角色与权限的对应关系的静态文件,确定与所述用户角色对应的用户权限。
进一步地,所述用户权限确定模块包括:
数据库匹配单元,用于根据所述用户角色和所述预设配置源中存储有角色与权限的对应关系的本地数据库,确定与所述用户角色对应的用户权限。
进一步地,还包括:
配置元动态更新单元,用于接收管理员发送的所述角色与权限的对应关系的修改信息,并根据所述修改信息更新所述配置源。
进一步地,所述权限判定处理模块包括:
后续业务处理单元,用于若所述用户权限满足与所述网络请求对应的网络资源的权限要求,则判定所述网络请求的权限验证通过,并执行相应业务处理;
网络资源返回单元,用于根据所述业务处理的结果得到所述网络资源并向所述用户返回所述网络资源。
第三方面,本申请提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的网络访问权限动态处理方法的步骤。
第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的网络访问权限动态处理方法的步骤。
由上述技术方案可知,本申请提供一种网络访问权限动态处理方法及装置,通过在接收到用户发送的网络请求时,首先根据所述网络请求确定对应的用户角色;再根据所述用户角色和一预设配置源,确定与所述用户角色对应的用户权限;若所述用户权限满足与所述网络请求对应的网络资源的权限要求,则返回所述网络资源,否则执行预设未授权处理操作,本申请将服务器端的权限验证逻辑从业务逻辑中剥离出来,并提到业务逻辑之前,在处理业务逻辑之前,即可通过获取权限和角色的对应关系,提前判断用户权限,并对用户权限精确地动态维护,在不修改和重启程序的情况下灵活变动权限,有效降低服务器进行权限验证时的耦合度,使权限验证操作更加简单、高效。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中的网络访问权限动态处理方法的流程示意图之一;
图2为本申请实施例中的网络访问权限动态处理方法的流程示意图之二;
图3为本申请实施例中的网络访问权限动态处理装置的结构图之一;
图4为本申请实施例中的网络访问权限动态处理装置的结构图之二;
图5为本申请实施例中的权限关系示意图;
图6为本申请实施例中的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
考虑到现有技术中在涉及到权限限制的资源获取程序中写入各种判断逻辑,就地处理和响应请求。这样做虽然可以精确实现权限控制,但无疑增加了逻辑的耦合度,将权限逻辑耦合进了业务逻辑,使得程序编写和维护更为复杂,同时这样做也无法对权限精确地动态维护,即在不修改和重启程序的情况下变动权限的问题,本申请提供一种网络访问权限动态处理方法及装置,通过在接收到用户发送的网络请求时,首先根据所述网络请求确定对应的用户角色;再根据所述用户角色和一预设配置源,确定与所述用户角色对应的用户权限;若所述用户权限满足与所述网络请求对应的网络资源的权限要求,则返回所述网络资源,否则执行预设未授权处理操作,本申请将服务器端的权限验证逻辑从业务逻辑中剥离出来,并提到业务逻辑之前,在处理业务逻辑之前,即可通过获取权限和角色的对应关系,提前判断用户权限,并对用户权限精确地动态维护,在不修改和重启程序的情况下灵活变动权限,有效降低服务器进行权限验证时的耦合度,使权限验证操作更加简单、高效。
为了能够有效降低服务器进行权限验证时的耦合度,使权限验证操作更加简单、高效,本申请提供一种网络访问权限动态处理方法的实施例,参见图1,所述网络访问权限动态处理方法具体包含有如下内容:
步骤S101:接收用户发送的网络请求,并根据所述网络请求确定对应的用户角色。
参见图5,可以理解的是,通常的权限系统一般会有三个基本对象,即账号,角色和权限,其中,账号用于标识服务当前的访问者,即所述用户,角色用于赋予访问者不同的权限,权限用于限制服务资源的可访问性。
可以理解的是,路由的命名可以间接地将资源的权限信息隐藏其中。可选的,在编写每个资源(或逻辑,我们可以将一个独立完整的公开逻辑视作一个可访问的独立资源,故后续提到的资源均包含逻辑的部分,不再赘述)的路由时,对每个路由(路由通过判断请求携带的信息,如地址(/v1/post,/v1/post/:post_id等)、请求方式(post,delete等)等,找到对应的处理程序processor进行处理。一般地,我们可以将每个对外公开的独立逻辑用一个路由/处理程序进行处理)进行命名,以此标明我们的服务可以被访问的每个资源。
可选的,在接收到用户发送的网络请求时,根据其路由地址中包含的各种用户特征信息(例如用户账户信息、用户唯一标识、用户名等)可以确定该用户在本系统数据库中对应的用户角色,所述用户角色包括但不限于:普通用户、用户管理员、内容管理员、超级管理员,所述用户角色也可以根据系统的具体应用场景而为其他角色。
可选的,在根据所述用户的用户特征信息以确定对应的用户角色时,可以通过请求一存储有所有用户和各自用户角色的角色查询接口来获取该用户对应的用户角色,也可以通过本地数据库或第三方数据库中获取,本申请在此处不做具体限定。
步骤S102:根据所述用户角色和预设配置源,确定与所述用户角色对应的用户权限。
可选的,所述预设配置源用于存储权限和角色的对应关系。所述配置源可以为多种形式。
在本申请的一种实例中,例如,在简单部署时,可以将权限和角色的对应关系存储在静态文件中,并预留一动态侦听配置文件的选项,将通过文件系统侦听文件的变动实时更新权限配置到内存(或其他缓存服务)实现不重启服务动态更新。
在本申请的另一种实例中,例如,在复杂部署时,可以将权限和角色的对应关系存储在数据库中,并通过第三方缓存服务(Redis、Memcached等)缓存配置数据,同时可以暴露数据库中的权限信息修改接口,并在调用完成时执行更新缓存的勾子程序。勾子程序的实现方式可以有如下两种示例:
1.函数调用:通过本地调用或者RPC调用更新程序来更新缓存。
2.消息通知:在高性能系统中,通过消息队列(RabbitMQ、Kafka、Redis等)异步或同步通知更新缓存程序更新权限配置。
在本申请的另一种实例中,还例如,自定义数据源,即接受服务提供的自定义权限配置获取接口,此时需要服务本身实现高性能地获取动态配置数据。
通过上述任意一种配置源的具体形式或其他同等原理实现的配置源的具体形式,可以根据所述用户角色和预设配置源,确定与所述用户角色对应的用户权限。
另外,可选的,在编写权限配置源(静态文件、数据库等)时,一级属性user,userManager,postManager,administrator为系统提供的角色;二级属性include标识当前角色所拥有的权限(如user拥有createPost和deletePost的权限),二级属性inherit标识当前角色继承了哪些角色的权限(如administrator继承了userManager和postManager的权限),二级属性exclude标识排除的权限,即该列表中的权限该角色不拥有,包括继承自其他角色的权限,该关键字具有较高优先级。
步骤S103:若所述用户权限满足与所述网络请求对应的网络资源的权限要求,则返回所述网络资源,否则执行预设未授权处理操作。
可选的,可以通过设置一权限验证控制函数来进行用户权限判断处理,该权限验证控制函数设置在业务程序之前,用于预先检验角色和对应的权限,检验通过将继续执行后续程序,否则,中断执行后续程序,根据需要返回相关信息。
具体的,权限验证控制函数在执行时,首先从配置源获取权限的配置信息,并根据程序暴露的接口获取访问者(即所述用户)的角色,然后,比对路由名称和角色、权限之间的包含关系来判断当前访问是否通过,最后,如果比对通过将调用processor继续执行业务程序,否则将调用未授权处理程序或默认返回标准的HTTP未授权错误信息。
由于将权限验证控制函数插入到处理程序processor之前,使访问到达业务逻辑之前进行权限校验,相比于传统的权限控制方式,研发人员在编写业务程序时,将不再需要考虑业务逻辑和权限的关系,被动式的权限控制大大减少了程序复杂度,集中式的权限管理将增加程序的可维护性。
从上述描述可知,本申请实施例提供的网络访问权限动态处理方法,能够通过在接收到用户发送的网络请求时,首先根据所述网络请求确定对应的用户角色;再根据所述用户角色和一预设配置源,确定与所述用户角色对应的用户权限;若所述用户权限满足与所述网络请求对应的网络资源的权限要求,则返回所述网络资源,否则执行预设未授权处理操作,本申请将服务器端的权限验证逻辑从业务逻辑中剥离出来,并提到业务逻辑之前,在处理业务逻辑之前,即可通过获取权限和角色的对应关系,提前判断用户权限,并对用户权限精确地动态维护,在不修改和重启程序的情况下灵活变动权限,有效降低服务器进行权限验证时的耦合度,使权限验证操作更加简单、高效。
为了能够在接收到用户发送的网络请求时首先确定该用户的用户权限,在本申请的网络访问权限动态处理方法的一实施例中,还可以具体包含如下内容:
根据所述网络请求中的用户账户信息和预设访问者角色查询接口,确定所述用户的用户角色。
可选的,在接收到用户发送的网络请求时,根据其路由地址中包含的各种用户特征信息(例如用户账户信息、用户唯一标识、用户名等)可以确定该用户在本系统数据库中对应的用户角色,所述用户角色包括但不限于:普通用户、用户管理员、内容管理员、超级管理员,所述用户角色也可以根据系统的具体应用场景而为其他角色。
可选的,在根据所述用户的用户特征信息以确定对应的用户角色时,可以通过请求一存储有所有用户和各自用户角色的角色查询接口来获取该用户对应的用户角色,也可以通过本地数据库或第三方数据库中获取,本申请在此处不做具体限定。
为了能够根据该用户的用户权限确定该用户的用户权限,在本申请的网络访问权限动态处理方法的一实施例中,还可以具体包含如下内容:
根据所述用户角色和所述预设配置源中存储有角色与权限的对应关系的静态文件,确定与所述用户角色对应的用户权限。
在本申请的一种实例中,例如,在简单部署时,可以将权限和角色的对应关系存储在静态文件中,并预留一动态侦听配置文件的选项,将通过文件系统侦听文件的变动实时更新权限配置到内存(或其他缓存服务)实现不重启服务动态更新。
为了能够根据该用户的用户权限确定该用户的用户权限,在本申请的网络访问权限动态处理方法的一实施例中,还可以具体包含如下内容:
根据所述用户角色和所述预设配置源中存储有角色与权限的对应关系的本地数据库,确定与所述用户角色对应的用户权限。
在本申请的另一种实例中,例如,在复杂部署时,可以将权限和角色的对应关系存储在数据库中,并通过第三方缓存服务(Redis、Memcached等)缓存配置数据,同时可以暴露数据库中的权限信息修改接口,并在调用完成时执行更新缓存的勾子程序。勾子程序的实现方式可以有如下两种示例:
1.函数调用:通过本地调用或者RPC调用更新程序来更新缓存。
2.消息通知:在高性能系统中,通过消息队列(RabbitMQ、Kafka、Redis等)异步或同步通知更新缓存程序更新权限配置。
在本申请的另一种实例中,还例如,自定义数据源,即接受服务提供的自定义权限配置获取接口,此时需要服务本身实现高性能地获取动态配置数据。
为了能够使管理员能够灵活修改配置源,实现权限验证的便捷灵活,在本申请的网络访问权限动态处理方法的一实施例中,还可以具体包含如下内容:
接收管理员发送的所述角色与权限的对应关系的修改信息,并根据所述修改信息更新所述配置源。
可以理解的是,不管是采用上述何种形式的配置源,本申请的服务器端都可以随时接收管理员发送的角色与权限的对应关系的修改信息,例如对已存储的角色与权限的对应关系的新增、删除以及修改操作,以此动态、灵活的管理角色与权限的对应关系,并及时更新所述配置源。
为了能够在通过权限验证后再执行相应业务处理,使权限验证逻辑与业务处理逻辑解耦,在本申请的网络访问权限动态处理方法的一实施例中,参见图2,还可以具体包含如下内容:
步骤S201:若所述用户权限满足与所述网络请求对应的网络资源的权限要求,则判定所述网络请求的权限验证通过,并执行相应业务处理。
步骤S202:根据所述业务处理的结果得到所述网络资源并向所述用户返回所述网络资源。
可选的,可以通过设置一权限验证控制函数来进行用户权限判断处理,该权限验证控制函数设置在业务处理程序之前,用于预先检验角色和对应的权限,检验通过将继续执行后续的业务处理程序,否则,中断执行后续程序,根据需要返回相关信息。
可选的,所述业务处理程序执行完毕后将产生对应于所述网络请求的网络资源,本申请将该网络资源返回至所述用户的用户端以进行后续信息交互。
为了能够有效降低服务器进行权限验证时的耦合度,使权限验证操作更加简单、高效,本申请提供一种用于实现所述网络访问权限动态处理方法的全部或部分内容的网络访问权限动态处理装置的实施例,参见图3,所述网络访问权限动态处理装置具体包含有如下内容:
用户角色确定模块10,用于接收用户发送的网络请求,并根据所述网络请求确定对应的用户角色。
用户权限确定模块20,用于根据所述用户角色和预设配置源,确定与所述用户角色对应的用户权限。
权限判定处理模块30,用于若所述用户权限满足与所述网络请求对应的网络资源的权限要求,则返回所述网络资源,否则执行预设未授权处理操作。
从上述描述可知,本申请实施例提供的网络访问权限动态处理装置,能够通过在接收到用户发送的网络请求时,首先根据所述网络请求确定对应的用户角色;再根据所述用户角色和一预设配置源,确定与所述用户角色对应的用户权限;若所述用户权限满足与所述网络请求对应的网络资源的权限要求,则返回所述网络资源,否则执行预设未授权处理操作,本申请将服务器端的权限验证逻辑从业务逻辑中剥离出来,并提到业务逻辑之前,在处理业务逻辑之前,即可通过获取权限和角色的对应关系,提前判断用户权限,并对用户权限精确地动态维护,在不修改和重启程序的情况下灵活变动权限,有效降低服务器进行权限验证时的耦合度,使权限验证操作更加简单、高效。
为了能够在接收到用户发送的网络请求时首先确定该用户的用户权限,在本申请的网络访问权限动态处理装置的一实施例中,所述用户角色确定模块10包括:
访问者角色查询单元,用于根据所述网络请求中的用户账户信息和预设访问者角色查询接口,确定所述用户的用户角色。
为了能够根据该用户的用户权限确定该用户的用户权限,在本申请的网络访问权限动态处理装置的一实施例中,所述用户权限确定模块20包括:
静态文件匹配单元,用于根据所述用户角色和所述预设配置源中存储有角色与权限的对应关系的静态文件,确定与所述用户角色对应的用户权限。
为了能够根据该用户的用户权限确定该用户的用户权限,在本申请的网络访问权限动态处理装置的一实施例中,所述用户权限确定模块20包括:
数据库匹配单元,用于根据所述用户角色和所述预设配置源中存储有角色与权限的对应关系的本地数据库,确定与所述用户角色对应的用户权限。
为了能够使管理员能够灵活修改配置源,实现权限验证的便捷灵活,在本申请的网络访问权限动态处理装置的一实施例中,还包括:
配置元动态更新单元,用于接收管理员发送的所述角色与权限的对应关系的修改信息,并根据所述修改信息更新所述配置源。
为了能够在通过权限验证后再执行相应业务处理,使权限验证逻辑与业务处理逻辑解耦,在本申请的网络访问权限动态处理装置的一实施例中,参见图4,所述权限判定处理模块30包括:
后续业务处理单元31,用于若所述用户权限满足与所述网络请求对应的网络资源的权限要求,则判定所述网络请求的权限验证通过,并执行相应业务处理。
网络资源返回单元32,用于根据所述业务处理的结果得到所述网络资源并向所述用户返回所述网络资源。
从硬件层面来说,为了能够有效降低服务器进行权限验证时的耦合度,使权限验证操作更加简单、高效,本申请提供一种用于实现所述网络访问权限动态处理方法中的全部或部分内容的电子设备的实施例,所述电子设备具体包含有如下内容:
处理器(processor)、存储器(memory)、通信接口(Communications Interface)和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述通信接口用于实现网络访问权限动态处理装置与核心业务系统、用户终端以及相关数据库等相关设备之间的信息传输;该逻辑控制器可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该逻辑控制器可以参照实施例中的网络访问权限动态处理方法的实施例,以及网络访问权限动态处理装置的实施例进行实施,其内容被合并于此,重复之处不再赘述。
可以理解的是,所述用户终端可以包括智能手机、平板电子设备、网络机顶盒、便携式计算机、台式电脑、个人数字助理(PDA)、车载设备、智能穿戴设备等。其中,所述智能穿戴设备可以包括智能眼镜、智能手表、智能手环等。
在实际应用中,网络访问权限动态处理方法的部分可以在如上述内容所述的电子设备侧执行,也可以所有的操作都在所述客户端设备中完成。具体可以根据所述客户端设备的处理能力,以及用户使用场景的限制等进行选择。本申请对此不作限定。若所有的操作都在所述客户端设备中完成,所述客户端设备还可以包括处理器。
上述的客户端设备可以具有通信模块(即通信单元),可以与远程的服务器进行通信连接,实现与所述服务器的数据传输。所述服务器可以包括任务调度中心一侧的服务器,其他的实施场景中也可以包括中间平台的服务器,例如与任务调度中心服务器有通信链接的第三方服务器平台的服务器。所述的服务器可以包括单台计算机设备,也可以包括多个服务器组成的服务器集群,或者分布式装置的服务器结构。
图6为本申请实施例的电子设备9600的系统构成的示意框图。如图6所示,该电子设备9600可以包括中央处理器9100和存储器9140;存储器9140耦合到中央处理器9100。值得注意的是,该图6是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
一实施例中,网络访问权限动态处理方法功能可以被集成到中央处理器9100中。其中,中央处理器9100可以被配置为进行如下控制:
步骤S101:接收用户发送的网络请求,并根据所述网络请求确定对应的用户角色。
步骤S102:根据所述用户角色和预设配置源,确定与所述用户角色对应的用户权限。
步骤S103:若所述用户权限满足与所述网络请求对应的网络资源的权限要求,则返回所述网络资源,否则执行预设未授权处理操作。
从上述描述可知,本申请实施例提供的电子设备,通过在接收到用户发送的网络请求时,首先根据所述网络请求确定对应的用户角色;再根据所述用户角色和一预设配置源,确定与所述用户角色对应的用户权限;若所述用户权限满足与所述网络请求对应的网络资源的权限要求,则返回所述网络资源,否则执行预设未授权处理操作,本申请将服务器端的权限验证逻辑从业务逻辑中剥离出来,并提到业务逻辑之前,在处理业务逻辑之前,即可通过获取权限和角色的对应关系,提前判断用户权限,并对用户权限精确地动态维护,在不修改和重启程序的情况下灵活变动权限,有效降低服务器进行权限验证时的耦合度,使权限验证操作更加简单、高效。
在另一个实施方式中,网络访问权限动态处理装置可以与中央处理器9100分开配置,例如可以将网络访问权限动态处理装置配置为与中央处理器9100连接的芯片,通过中央处理器的控制来实现网络访问权限动态处理方法功能。
如图6所示,该电子设备9600还可以包括:通信模块9110、输入单元9120、音频处理器9130、显示器9160、电源9170。值得注意的是,电子设备9600也并不是必须要包括图6中所示的所有部件;此外,电子设备9600还可以包括图6中没有示出的部件,可以参考现有技术。
如图6所示,中央处理器9100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器9100接收输入并控制电子设备9600的各个部件的操作。
其中,存储器9140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器9100可执行该存储器9140存储的该程序,以实现信息存储或处理等。
输入单元9120向中央处理器9100提供输入。该输入单元9120例如为按键或触摸输入装置。电源9170用于向电子设备9600提供电力。显示器9160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器9140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器9140还可以是某种其它类型的装置。存储器9140包括缓冲存储器9141(有时被称为缓冲器)。存储器9140可以包括应用/功能存储部9142,该应用/功能存储部9142用于存储应用程序和功能程序或用于通过中央处理器9100执行电子设备9600的操作的流程。
存储器9140还可以包括数据存储部9143,该数据存储部9143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器9140的驱动程序存储部9144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通信模块9110即为经由天线9111发送和接收信号的发送机/接收机9110。通信模块(发送机/接收机)9110耦合到中央处理器9100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块9110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)9110还经由音频处理器9130耦合到扬声器9131和麦克风9132,以经由扬声器9131提供音频输出,并接收来自麦克风9132的音频输入,从而实现通常的电信功能。音频处理器9130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器9130还耦合到中央处理器9100,从而使得可以通过麦克风9132能够在本机上录音,且使得可以通过扬声器9131来播放本机上存储的声音。
本申请的实施例还提供能够实现上述实施例中的执行主体为服务器或客户端的网络访问权限动态处理方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的执行主体为服务器或客户端的网络访问权限动态处理方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
步骤S101:接收用户发送的网络请求,并根据所述网络请求确定对应的用户角色。
步骤S102:根据所述用户角色和预设配置源,确定与所述用户角色对应的用户权限。
步骤S103:若所述用户权限满足与所述网络请求对应的网络资源的权限要求,则返回所述网络资源,否则执行预设未授权处理操作。
从上述描述可知,本申请实施例提供的计算机可读存储介质,通过在接收到用户发送的网络请求时,首先根据所述网络请求确定对应的用户角色;再根据所述用户角色和一预设配置源,确定与所述用户角色对应的用户权限;若所述用户权限满足与所述网络请求对应的网络资源的权限要求,则返回所述网络资源,否则执行预设未授权处理操作,本申请将服务器端的权限验证逻辑从业务逻辑中剥离出来,并提到业务逻辑之前,在处理业务逻辑之前,即可通过获取权限和角色的对应关系,提前判断用户权限,并对用户权限精确地动态维护,在不修改和重启程序的情况下灵活变动权限,有效降低服务器进行权限验证时的耦合度,使权限验证操作更加简单、高效。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (14)
1.一种网络访问权限动态处理方法,其特征在于,所述方法包括:
接收用户发送的网络请求,并根据所述网络请求确定对应的用户角色;
根据所述用户角色和预设配置源,确定与所述用户角色对应的用户权限;
若所述用户权限满足与所述网络请求对应的网络资源的权限要求,则返回所述网络资源,否则执行预设未授权处理操作。
2.根据权利要求1所述的网络访问权限动态处理方法,其特征在于,所述接收用户发送的网络请求,并根据所述网络请求确定对应的用户角色,包括:
根据所述网络请求中的用户账户信息和预设访问者角色查询接口,确定所述用户的用户角色。
3.根据权利要求1所述的网络访问权限动态处理方法,其特征在于,所述根据所述用户角色和预设配置源,确定与所述用户角色对应的用户权限,包括:
根据所述用户角色和所述预设配置源中存储有角色与权限的对应关系的静态文件,确定与所述用户角色对应的用户权限。
4.根据权利要求1所述的网络访问权限动态处理方法,其特征在于,所述根据所述用户角色和预设配置源,确定与所述用户角色对应的用户权限,包括:
根据所述用户角色和所述预设配置源中存储有角色与权限的对应关系的本地数据库,确定与所述用户角色对应的用户权限。
5.根据权利要求3或4所述的网络访问权限动态处理方法,其特征在于,在所述根据所述用户角色和预设配置源,确定与所述用户角色对应的用户权限之前,包括:
接收管理员发送的所述角色与权限的对应关系的修改信息,并根据所述修改信息更新所述配置源。
6.根据权利要求1所述的网络访问权限动态处理方法,其特征在于,所述若所述用户权限满足与所述网络请求对应的网络资源的权限要求,则返回所述网络资源,包括:
若所述用户权限满足与所述网络请求对应的网络资源的权限要求,则判定所述网络请求的权限验证通过,并执行相应业务处理;
根据所述业务处理的结果得到所述网络资源并向所述用户返回所述网络资源。
7.一种网络访问权限动态处理装置,其特征在于,包括:
用户角色确定模块,用于接收用户发送的网络请求,并根据所述网络请求确定对应的用户角色;
用户权限确定模块,用于根据所述用户角色和预设配置源,确定与所述用户角色对应的用户权限;
权限判定处理模块,用于若所述用户权限满足与所述网络请求对应的网络资源的权限要求,则返回所述网络资源,否则执行预设未授权处理操作。
8.根据权利要求7所述的网络访问权限动态处理装置,其特征在于,所述用户角色确定模块包括:
访问者角色查询单元,用于根据所述网络请求中的用户账户信息和预设访问者角色查询接口,确定所述用户的用户角色。
9.根据权利要求7所述的网络访问权限动态处理装置,其特征在于,所述用户权限确定模块包括:
静态文件匹配单元,用于根据所述用户角色和所述预设配置源中存储有角色与权限的对应关系的静态文件,确定与所述用户角色对应的用户权限。
10.根据权利要求7所述的网络访问权限动态处理装置,其特征在于,所述用户权限确定模块包括:
数据库匹配单元,用于根据所述用户角色和所述预设配置源中存储有角色与权限的对应关系的本地数据库,确定与所述用户角色对应的用户权限。
11.根据权利要求9或10所述的网络访问权限动态处理装置,其特征在于,还包括:
配置元动态更新单元,用于接收管理员发送的所述角色与权限的对应关系的修改信息,并根据所述修改信息更新所述配置源。
12.根据权利要求7所述的网络访问权限动态处理装置,其特征在于,所述权限判定处理模块包括:
后续业务处理单元,用于若所述用户权限满足与所述网络请求对应的网络资源的权限要求,则判定所述网络请求的权限验证通过,并执行相应业务处理;
网络资源返回单元,用于根据所述业务处理的结果得到所述网络资源并向所述用户返回所述网络资源。
13.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至6任一项所述的网络访问权限动态处理方法的步骤。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6任一项所述的网络访问权限动态处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010103854.8A CN111343172A (zh) | 2020-02-20 | 2020-02-20 | 网络访问权限动态处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010103854.8A CN111343172A (zh) | 2020-02-20 | 2020-02-20 | 网络访问权限动态处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111343172A true CN111343172A (zh) | 2020-06-26 |
Family
ID=71186987
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010103854.8A Pending CN111343172A (zh) | 2020-02-20 | 2020-02-20 | 网络访问权限动态处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111343172A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112968880A (zh) * | 2021-02-01 | 2021-06-15 | 浪潮思科网络科技有限公司 | 一种基于sdn架构的权限控制方法、系统 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1635439A (zh) * | 2003-12-26 | 2005-07-06 | 华为技术有限公司 | 一种用户权限管理方法 |
CN102222193A (zh) * | 2011-06-28 | 2011-10-19 | 用友软件股份有限公司 | 数据权限设置装置和数据权限设置方法 |
CN103049684A (zh) * | 2012-12-21 | 2013-04-17 | 大唐软件技术股份有限公司 | 一种基于rbac模型扩展的数据权限控制方法和系统 |
CN104579726A (zh) * | 2013-10-16 | 2015-04-29 | 航天信息股份有限公司 | 对用户的网络资源使用权限进行管理的方法和装置 |
CN105653982A (zh) * | 2015-12-31 | 2016-06-08 | 中国建设银行股份有限公司 | 用于数据权限控制的方法和系统 |
CN107426169A (zh) * | 2017-05-24 | 2017-12-01 | 阿里巴巴集团控股有限公司 | 一种基于权限的业务处理方法及装置 |
CN108156111A (zh) * | 2016-12-02 | 2018-06-12 | 北大方正集团有限公司 | 网络服务权限的处理方法和装置 |
CN109088858A (zh) * | 2018-07-13 | 2018-12-25 | 南京邮电大学 | 一种基于权限管理的医疗系统及方法 |
CN109246089A (zh) * | 2018-08-20 | 2019-01-18 | 北京交通大学 | 一种基于角色的前后端分离架构访问控制系统及方法 |
CN109598117A (zh) * | 2018-10-24 | 2019-04-09 | 平安科技(深圳)有限公司 | 权限管理方法、装置、电子设备及存储介质 |
CN110502912A (zh) * | 2019-08-19 | 2019-11-26 | 四川长虹电器股份有限公司 | 一种前端权限路由控制方法 |
US20200053091A1 (en) * | 2018-08-13 | 2020-02-13 | Capital One Services, Llc | Systems and methods for dynamic granular access permissions |
CN110808964A (zh) * | 2019-10-22 | 2020-02-18 | 贵阳朗玛信息技术股份有限公司 | 一种权限管理的方法及装置 |
-
2020
- 2020-02-20 CN CN202010103854.8A patent/CN111343172A/zh active Pending
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1635439A (zh) * | 2003-12-26 | 2005-07-06 | 华为技术有限公司 | 一种用户权限管理方法 |
CN102222193A (zh) * | 2011-06-28 | 2011-10-19 | 用友软件股份有限公司 | 数据权限设置装置和数据权限设置方法 |
CN103049684A (zh) * | 2012-12-21 | 2013-04-17 | 大唐软件技术股份有限公司 | 一种基于rbac模型扩展的数据权限控制方法和系统 |
CN104579726A (zh) * | 2013-10-16 | 2015-04-29 | 航天信息股份有限公司 | 对用户的网络资源使用权限进行管理的方法和装置 |
CN105653982A (zh) * | 2015-12-31 | 2016-06-08 | 中国建设银行股份有限公司 | 用于数据权限控制的方法和系统 |
CN108156111A (zh) * | 2016-12-02 | 2018-06-12 | 北大方正集团有限公司 | 网络服务权限的处理方法和装置 |
CN107426169A (zh) * | 2017-05-24 | 2017-12-01 | 阿里巴巴集团控股有限公司 | 一种基于权限的业务处理方法及装置 |
CN109088858A (zh) * | 2018-07-13 | 2018-12-25 | 南京邮电大学 | 一种基于权限管理的医疗系统及方法 |
US20200053091A1 (en) * | 2018-08-13 | 2020-02-13 | Capital One Services, Llc | Systems and methods for dynamic granular access permissions |
CN109246089A (zh) * | 2018-08-20 | 2019-01-18 | 北京交通大学 | 一种基于角色的前后端分离架构访问控制系统及方法 |
CN109598117A (zh) * | 2018-10-24 | 2019-04-09 | 平安科技(深圳)有限公司 | 权限管理方法、装置、电子设备及存储介质 |
CN110502912A (zh) * | 2019-08-19 | 2019-11-26 | 四川长虹电器股份有限公司 | 一种前端权限路由控制方法 |
CN110808964A (zh) * | 2019-10-22 | 2020-02-18 | 贵阳朗玛信息技术股份有限公司 | 一种权限管理的方法及装置 |
Non-Patent Citations (1)
Title |
---|
闫如忠等: "RBAC在分布式监控和故障诊断系统中应用", 《组合机床与自动化加工技术》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112968880A (zh) * | 2021-02-01 | 2021-06-15 | 浪潮思科网络科技有限公司 | 一种基于sdn架构的权限控制方法、系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111460506A (zh) | 数据访问控制方法及装置 | |
CN102769640B (zh) | 用户信息的更新方法、服务器以及系统 | |
CN108881396A (zh) | 网络数据的加载方法、装置、设备和计算机存储介质 | |
CN105701122A (zh) | 一种日志收集方法、装置及系统 | |
CN103297325A (zh) | 在即时通讯系统中与第三方应用交互的方法、装置和设备 | |
CN106776917B (zh) | 一种获取资源文件的方法和装置 | |
CN102291243A (zh) | 业务处理服务器、系统和方法 | |
CN110781373A (zh) | 榜单更新方法、装置、可读介质和电子设备 | |
CN111953648A (zh) | 基于区块链预言机的数据处理方法、装置及电子设备 | |
US20220394209A1 (en) | Multimedia conference data processing method and apparatus, and electronic device | |
CN114172662A (zh) | 区块链外部数据获取方法及装置 | |
US20220366066A1 (en) | Display method, display device, and electronic device | |
CN112686528A (zh) | 用于分配客服资源的方法、装置、服务器和介质 | |
CN112416616A (zh) | 一种微服务调用方法、装置、电子设备及存储介质 | |
CN112394932A (zh) | 浏览器网页自动换肤方法及装置 | |
CN107517188A (zh) | 一种基于安卓系统的数据处理方法和装置 | |
CN112243016A (zh) | 一种中间件平台、终端设备、5g人工智能云处理系统及处理方法 | |
CN114257532A (zh) | 服务端状态探测方法及装置 | |
CN111813529B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN111767558B (zh) | 数据访问监控方法、装置及系统 | |
CN111343172A (zh) | 网络访问权限动态处理方法及装置 | |
CN112231106A (zh) | Redis集群的访问数据处理方法及装置 | |
CN112396511B (zh) | 分布式风控变量数据处理方法、装置及系统 | |
CN115022106B (zh) | 一种群信息处理方法、装置、设备及介质 | |
CN113133072B (zh) | 控制终端的方法、装置、终端及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220913 Address after: 25 Financial Street, Xicheng District, Beijing 100033 Applicant after: CHINA CONSTRUCTION BANK Corp. Address before: 25 Financial Street, Xicheng District, Beijing 100033 Applicant before: CHINA CONSTRUCTION BANK Corp. Applicant before: Jianxin Financial Science and Technology Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200626 |
|
RJ01 | Rejection of invention patent application after publication |