CN111695112B - 一种动态控制访问权限的方法及装置 - Google Patents
一种动态控制访问权限的方法及装置 Download PDFInfo
- Publication number
- CN111695112B CN111695112B CN201910196241.0A CN201910196241A CN111695112B CN 111695112 B CN111695112 B CN 111695112B CN 201910196241 A CN201910196241 A CN 201910196241A CN 111695112 B CN111695112 B CN 111695112B
- Authority
- CN
- China
- Prior art keywords
- access
- authentication
- condition
- conditions
- setting
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供了一种动态控制访问权限的方法及装置,此方法包括:根据访问权限控制规则判断所述访问请求是否具有访问权限;其中,所述访问权限控制规则包括:访问条件、认证策略、控制方式;所述控制方式包括所述访问条件和所述认证策略的流程关系。本发明可以方便地为API接口根据不同应用场景创建出不同的权限控制流程,权限控制流程的可自由定制组合,具有较强的可扩展性。
Description
技术领域
本发明涉及网络安全领域,尤其涉及一种动态控制访问权限的方法及装置。
背景技术
现有的API接口缺乏访问权限控制,用户可以随意访问,异常用户进行恶意请求行为容易受使网站受到恶意访问的攻击,妨碍正常的用户的访问并且会给整个平台带来风险。
对客户的访问行为进行认证时,传统的认证过程对于访问条件以及认证流程都需要用户自己手动写代码实现,如果需要创建逻辑复杂的认证流程更是工作量大、耗时且容易出错,整个过程非常繁杂。所以需要一种灵活高效扩展性强的控制访问权限的方案。
发明内容
为了解决上面描述的问题,本发明提供一种动态控制访问权限的方法及装置。
本发明提供的动态控制访问权限的方法,包括:
接收访问请求;
根据访问权限控制规则判断所述访问请求是否具有访问权限;其中,所述访问权限控制规则包括:访问条件、认证策略、控制方式;所述控制方式包括所述访问条件和所述认证策略的流程关系。
上述动态控制访问权限的方法还具有以下特点:
所述控制方式包括认证条件判断流程;
在所述接收访问请求之前,所述方法包括构建认证条件判断流程的方法:所述构建认证条件判断流程的方法包括:
设置N个访问条件,N为大于1的整数,设置每个访问条件对应的认证策略;
设置所述N个访问条件的逻辑关系和排列顺序;
根据所述N个访问条件的逻辑关系和排列顺序设置每个访问条件的跳转指示信息;所述跳转指示信息包括两个映射关系,一个映射关系包括用于表示访问条件满足的信息和对应的下一跳位置,另一个映射关系包括用于表示访问条件不满足的信息和对应的下一跳位置,所述下一跳位置是指访问条件的地址或者结束地址;
所述根据访问权限控制规则判断所述访问请求是否具有访问权限包括:根据所述认证条件判断流程判断所述访问请求是否满足认证条件,在满足认证条件时,使用所有满足的访问条件对应的认证策略进行认证。
上述动态控制访问权限的方法还具有以下特点:
所述结束地址用于表示认证条件判断流程结束并且不包含访问条件是否满足的指示信息时,所述根据访问请求和所述认证条件判断流程判断所述访问请求是否满足认证条件包括:使用所述访问请求执行所述认证条件判断流程,执行到一访问条件的映射关系中的结束地址时,判断此访问条件满足时,确定所述访问请求满足访问条件;
所述结束地址是用于表示认证条件判断流程结束并且包含访问条件满足的指示信息的第一结束地址,或者,是用于表示认证条件判断流程结束并且包含访问条件满足的指示信息的第二结束地址;所述根据访问请求和所述认证条件判断流程判断所述访问请求是否满足认证条件包括:使用所述访问请求执行所述认证条件判断流程,执行到一访问条件的映射关系中的第一结束地址时,确定所述访问请求满足访问条件,或者,执行到一访问条件的映射关系中的第二结束地址时,确定所述访问请求不满足访问条件。
上述动态控制访问权限的方法还具有以下特点:
设置所述N个访问条件的逻辑关系包括以下方式中的一种:
设置所述N个访问条件均为逻辑或的关系;
设置所述N个访问条件均为逻辑和的关系;
将所述N个访问条件分为M个组,至少有一个组中包括一个以上的访问条件,每个组内的所有访问条件的逻辑关系相同,不同组之间的逻辑关系相同,每个组内的所有访问条件的逻辑关系与不同之间的逻辑关系不同。
上述动态控制访问权限的方法还具有以下特点:
设置所述N个访问条件的排列顺序包括:
为每个访问条件设置优先级属性,接收用户设置的访问条件的优先级的值;
设置所述N个访问条件按优先级从高到低的排列。
上述动态控制访问权限的方法还具有以下特点:
所述控制方式包括分支认证流程;
在所述接收访问请求之前,所述方法包括构建分支认证流程的方法:所述构建分支认证流程的方法包括:
设置N个访问条件,N为大于1的整数,设置每个访问条件对应的认证策略;每个访问条件和此访问条件对应的认证策略构成一个认证分支;
设置所述N个访问条件的逻辑关系和排列顺序;
根据所述N个访问条件的逻辑关系和排列顺序设置每个访问策略的认证结果对应的跳转指示信息;所述跳转指示信息包括两个映射关系,一个映射关系包括用于表示访问策略认证成功的信息和对应的下一跳位置,另一个映射关系包括用于表示访问策略认证失败的信息和对应的下一跳位置,所述下一跳位置是指访问条件的地址或者整体认证成功结果或者整体认证失败结果;
所述根据访问权限控制规则判断所述访问请求是否具有访问权限包括:根据所述分支认证流程判断所述访问请求是否满足每个认证分支的访问条件以及相应的认证策略,根据此认证策略的认证结果对应的跳转指示信息进行跳转,直至跳转到整体认证成功结果或者整体认证失败结果。
上述动态控制访问权限的方法还具有以下特点:
所述方法还包括:将访问条件封装为访问条件组件并构建为访问条件组件池,将认证策略封装为认证策略组件并构建认证策略组件池;
所述设置N个访问条件包括在编辑平台上从访问条件组件池中选择N个访问条件组件;所述设置每个访问条件对应的认证策略包括在编辑平台上从所述访问条件组件中选择N个访问条件;
所述方法还包括:实时更新认证组件池,根据用户指示增加或删减所述认证组件池中的认证组件;根据所述认证组件池中认证组件的变化而相应的更新认证策略组件池中的认证策略组件。
本发明提供的动态控制访问权限的装置,包括:
接收模块,用于接收访问请求;
控制模块,用于根据访问权限控制规则判断所述访问请求是否具有访问权限;其中,所述访问权限控制规则包括:访问条件、认证策略、控制方式;所述控制方式包括所述访问条件和所述认证策略的流程关系。
上述动态控制访问权限的装置还具有以下特点:
所述控制方式包括认证条件判断流程;
所述控制模块还包括第一设置模块,用于构建认证条件判断流程,具体使用以下方法构建认证条件判断流程:
设置N个访问条件,N为大于1的整数,设置每个访问条件对应的认证策略;
设置所述N个访问条件的逻辑关系和排列顺序;
根据所述N个访问条件的逻辑关系和排列顺序设置每个访问条件的跳转指示信息;所述跳转指示信息包括两个映射关系,一个映射关系包括用于表示访问条件满足的信息和对应的下一跳位置,另一个映射关系包括用于表示访问条件不满足的信息和对应的下一跳位置,所述下一跳位置是指访问条件的地址或者结束地址;
所述控制模块,用于使用以下方法根据访问权限控制规则判断所述访问请求是否具有访问权限:根据所述认证条件判断流程判断所述访问请求是否满足认证条件,在满足认证条件时,使用所有满足的访问条件对应的认证策略进行认证。
上述动态控制访问权限的装置还具有以下特点:
所述结束地址用于表示认证条件判断流程结束并且不包含访问条件是否满足的指示信息时,所述根据访问请求和所述认证条件判断流程判断所述访问请求是否满足认证条件包括:使用所述访问请求执行所述认证条件判断流程,执行到一访问条件的映射关系中的结束地址时,判断此访问条件满足时,确定所述访问请求满足访问条件;
所述结束地址是用于表示认证条件判断流程结束并且包含访问条件满足的指示信息的第一结束地址,或者,是用于表示认证条件判断流程结束并且包含访问条件满足的指示信息的第二结束地址;所述根据访问请求和所述认证条件判断流程判断所述访问请求是否满足认证条件包括:使用所述访问请求执行所述认证条件判断流程,执行到一访问条件的映射关系中的第一结束地址时,确定所述访问请求满足访问条件,或者,执行到一访问条件的映射关系中的第二结束地址时,确定所述访问请求不满足访问条件;
设置所述N个访问条件的逻辑关系包括以下方式中的一种:
设置所述N个访问条件均为逻辑或的关系;
设置所述N个访问条件均为逻辑和的关系;
将所述N个访问条件分为M个组,至少有一个组中包括一个以上的访问条件,每个组内的所有访问条件的逻辑关系相同,不同组之间的逻辑关系相同,每个组内的所有访问条件的逻辑关系与不同之间的逻辑关系不同。
上述动态控制访问权限的装置还具有以下特点:
所述控制方式包括分支认证流程;
所述装置还包括第二设置模块,用于构建分支认证流程,具体的,使用以下方法构建分支认证流程:
设置N个访问条件,N为大于1的整数,设置每个访问条件对应的认证策略;每个访问条件和此访问条件对应的认证策略构成一个认证分支;
设置所述N个访问条件的逻辑关系和排列顺序;
根据所述N个访问条件的逻辑关系和排列顺序设置每个访问策略的认证结果对应的跳转指示信息;所述跳转指示信息包括两个映射关系,一个映射关系包括用于表示访问策略认证成功的信息和对应的下一跳位置,另一个映射关系包括用于表示访问策略认证失败的信息和对应的下一跳位置,所述下一跳位置是指访问条件的地址或者整体认证成功结果或者整体认证失败结果;
所述控制模块,还用于使用以下方法根据访问权限控制规则判断所述访问请求是否具有访问权限:根据所述分支认证流程判断所述访问请求是否满足每个认证分支的访问条件以及相应的认证策略,根据此认证策略的认证结果对应的跳转指示信息进行跳转,直至跳转到整体认证成功结果或者整体认证失败结果。
上述动态控制访问权限的装置还具有以下特点:
构建模块,用于将访问条件封装为访问条件组件并构建为访问条件组件池,将认证策略封装为认证策略组件并构建认证策略组件池;
选择模块,用于在编辑平台上从访问条件组件池中选择N个访问条件组件;在编辑平台上从所述访问条件组件中选择N个访问条件;
维护模块,用于实时更新认证组件池,根据用户指示增加或删减所述认证组件池中的认证组件;根据所述认证组件池中认证组件的变化而相应的更新认证策略组件池中的认证策略组件。
本发明可以方便地为API接口根据不同应用场景创建出不同的权限控制流程,权限控制流程的可自由定制组合,具有较强的可扩展性。
附图说明
并入到说明书中并且构成说明书的一部分的附图示出了本发明的实施例,并且与描述一起用于解释本发明的原理。在这些附图中,类似的附图标记用于表示类似的要素。下面描述中的附图是本发明的一些实施例,而不是全部实施例。对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,可以根据这些附图获得其他的附图。
图1为动态控制访问权限的方法的流程图;
图2为具体实施例一中认证条件判断流程的示意图;
图3为具体实施例二中认证条件判断流程的示意图;
图4为具体实施例三中认证条件判断流程的示意图;
图5为具体实施例四中认证条件判断流程的示意图;
图6为具体实施例五中认证条件判断流程的示意图;
图7为具体实施例六中认证条件判断流程的示意图;
图8为动态控制访问权限的装置的结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
如图1所示,动态控制访问权限的方法,包括:
步骤101,接收访问请求;
步骤102,根据访问权限控制规则判断访问请求是否具有访问权限;其中,访问权限控制规则包括:访问条件、认证策略、控制方式;控制方式包括访问条件和认证策略的流程关系。
其中,访问请求可以是用于访问API的请求,也可以是其它类型的访问请求。
下面通过两个实施例详细说明本发明。
实施例一
控制方式包括认证条件判断流程。
在接收访问请求之前,本方法包括构建认证条件判断流程的方法:构建认证条件判断流程的方法包括:
设置N个访问条件,N为大于1的整数,设置每个访问条件对应的认证策略;
设置N个访问条件的逻辑关系和排列顺序;
根据N个访问条件的逻辑关系和排列顺序设置每个访问条件的跳转指示信息;跳转指示信息包括两个映射关系,一个映射关系包括用于表示访问条件满足的信息和对应的下一跳位置,另一个映射关系包括用于表示访问条件不满足的信息和对应的下一跳位置,下一跳位置是指访问条件的地址或者结束地址;
步骤102中根据访问权限控制规则判断访问请求是否具有访问权限包括:根据认证条件判断流程判断访问请求是否满足认证条件,在满足认证条件时,使用所有满足的访问条件对应的认证策略进行认证。
认证成功,表示此访问请求具有访问权限,认证失败,表示此访问请求不具有访问权限。此方法还包括:步骤102中根据认证条件判断流程判断访问请求不满足访问条件时,拒绝此访问请求,流程结束。
具体的:
访问条件可以是:访问频率限制条件(例如访问频率位于50~100次/秒区间),访问时间限制条件(例如访问时间位于下午9点至11点的时段内),访问资源(例如访问资源是预设路径上的预设资源),还可以是自定义的条件。认证策略可以是:黑白名单策略,用户名密码策略,SSL证书认证策略,还可以是自定义的策略。
结束地址可以具有两种表达方式:
第一种:结束地址用于表示认证条件判断流程结束并且不包含访问条件是否满足的指示信息。例如结束地址是用于表示“认证条件判断流程退出”的地址。步骤102中根据访问请求和认证条件判断流程判断访问请求是否满足认证条件包括:使用访问请求执行认证条件判断流程,执行到一访问条件的映射关系中的结束地址时,判断此访问条件满足时,确定访问请求满足访问条件,判断此访问条件不满足时,确定访问请求不满足访问条件。
第二种:结束地址是第一结束地址或第二结束地址。第一结束地址是用于表示认证条件判断流程结束并且包含访问条件满足的指示信息,例如第一结束地址是用于表示“认证条件判断流程成功并退出”的地址。第二结束地址是用于表示认证条件判断流程结束并且包含访问条件满足的指示信息的第二结束地址,例如第二结束地址是用于表示“认证条件判断流程失败并退出”的地址根据访问请求和认证条件判断流程判断访问请求是否满足认证条件包括:使用访问请求执行认证条件判断流程,执行到一访问条件的映射关系中的第一结束地址时,确定访问请求满足访问条件,或者,执行到一访问条件的映射关系中的第二结束地址时,确定访问请求不满足访问条件。
访问条件的逻辑关系可以均为逻辑和,此时所有访问条件都满足时才启动认证流程;访问条件的逻辑关系可以均为逻辑或,此时访问条件中任何一个满足时,就启动认证流程。当然,组合关系也可以包括逻辑和与逻辑或的组合。步骤101中设置N个访问条件的逻辑关系包括以下方式中的一种:
设置N个访问条件均为逻辑或的关系;例如4个访问条件(条件1、条件2、条件3、条件4)的逻辑关系为:条件1或条件2或条件3或条件4。
设置N个访问条件均为逻辑和的关系;例如4个访问条件(条件1、条件2、条件3、条件4)的逻辑关系为:条件1和条件2和条件3和条件4。
将N个访问条件分为M个组,至少有一个组中包括一个以上的访问条件,每个组内的所有访问条件的逻辑关系相同,不同组之间的逻辑关系相同,每个组内的所有访问条件的逻辑关系与不同之间的逻辑关系不同。例如4个访问条件(条件1、条件2、条件3、条件4)的逻辑关系为:(条件1或条件2)和(条件3或条件4)。
设置N个访问条件的排列顺序包括:为每个访问条件设置优先级属性,接收用户设置的访问条件的优先级的值;设置N个访问条件按优先级从高到低的排列。用户可以根据使用需要修改访问条件的优先级的值。
下面使用具体实施例对本发明进行详细说明。
具体实施例一
如图2所示,选择4个访问条件,其包括:条件1、条件2、条件3、条件4。每个访问条件对应一个认证策略,即分别为策略1、策略2、策略3、策略4。设置4个访问条件的逻辑关系是均为逻辑和。4个访问条件的排列顺序为条件1、条件2、条件3、条件4。
在一种使用场景下,接收针对API接口的访问请求,判断此访问请求是否满足条件1,确定满足条件1后,查询此条件1的跳转指示信息中的映射关系,根据第一映射关系获知后续需跳转到条件2,判断此访问请求是否满足条件2,确定满足条件2后,查询此条件2的跳转指示信息中的映射关系,根据第一映射关系获知后续需跳转到条件3,依次类推,直至确定满足条件4后,查询此条件4的跳转指示信息中的映射关系,根据第一映射关系获知认证条件判断流程退出。此认证条件判断流程退出的信息属于条件4的跳转指示信息中的映射关系,在访问请求满足此条件4的情况下,认为此次退出为成功退出,使用策略1、策略2、策略3、策略4对访问请求进行认证,认证成功后,为访问请求分配访问权限。
在另一种使用场景下,接收针对API接口的访问请求,判断此访问请求是否满足条件1,确定满足条件1后,查询此条件1的跳转指示信息中的映射关系,根据第一映射关系获知后续需跳转到条件2,判断此访问请求是否满足条件2,确定满足条件2后,查询此条件2的跳转指示信息中的映射关系,根据第一映射关系获知后续需跳转到条件3,依次类推,直至确定不满足条件4后,查询此条件4的跳转指示信息中的映射关系,根据第二映射关系获知认证条件判断流程退出。此认证条件判断流程退出的信息属于条件4的跳转指示信息中的映射关系,在访问请求不满足此条件4的情况下,认为此次退出为失败退出,不执行认证,拒绝此访问请求。
具体实施例二
如图3所示,选择4个访问条件,其包括:条件1、条件2、条件3、条件4。每个访问条件对应一个认证策略,即分别为策略1、策略2、策略3、策略4。设置4个访问条件的逻辑关系是均为逻辑或。4个访问条件的排列顺序为条件1、条件2、条件3、条件4。
在一种使用场景下,接收针对API接口的访问请求,判断此访问请求是否满足条件1,确定满足条件1后,查询此条件1的跳转指示信息中的映射关系,根据第一映射关系获知认证条件判断流程成功退出,则后续使用策略1、策略2、策略3、策略4对访问请求进行认证,认证成功后,为访问请求分配访问权限。
在另一种使用场景下,接收针对API接口的访问请求,判断此访问请求是否满足条件1,确定不满足条件1后,查询此条件1的跳转指示信息中的映射关系,根据第二映射关系获知后续需跳转到条件2,判断此访问请求是否满足条件2,确定不满足条件2后,查询此条件2的跳转指示信息中的映射关系,根据第二映射关系获知后续需跳转到条件3,依次类推,直至确定不满足条件4后,查询此条件4的跳转指示信息中的映射关系,根据第二映射关系获知认证条件判断流程失败退出,后续不执行认证,拒绝此访问请求。
具体实施例三
如图4所示,选择4个访问条件,其包括:条件1、条件2、条件3、条件4。每个访问条件对应一个认证策略,即分别为策略1、策略2、策略3、策略4。设置4个访问条件的逻辑关系是(条件1或条件2)和(条件3或条件4)。4个访问条件的排列顺序为条件1、条件2、条件3、条件4。
在一种使用场景下,接收针对API接口的访问请求,判断此访问请求是否满足条件1,确定满足条件1后,查询此条件1的跳转指示信息中的映射关系,根据第一映射关系获知后续需跳转到条件3,判断此访问请求是否满足条件3,确定满足条件3后,查询此条件3的跳转指示信息中的映射关系,根据第一映射关系获知认证条件判断流程成功退出,后续使用策略1、策略2、策略3、策略4对访问请求进行认证,认证成功后,为访问请求分配访问权限。
在一种使用场景下,接收针对API接口的访问请求,判断此访问请求是否满足条件1,确定不满足条件1后,查询此条件1的跳转指示信息中的映射关系,根据第二映射关系获知后续需跳转到条件2,判断此访问请求是否满足条件2,确定不满足条件2后,查询此条件2的跳转指示信息中的映射关系,根据第二映射关系获知认证条件判断流程失败退出,后续不执行认证,拒绝此访问请求。
实施例二
控制方式包括分支认证流程;
在接收访问请求之前,本方法包括构建分支认证流程的方法:此构建分支认证流程的方法具体包括:
设置N个访问条件,N为大于1的整数,设置每个访问条件对应的认证策略;每个访问条件和此访问条件对应的认证策略构成一个认证分支;
设置N个访问条件的逻辑关系和排列顺序;
根据N个访问条件的逻辑关系和排列顺序设置每个访问策略的认证结果对应的跳转指示信息;跳转指示信息包括两个映射关系,一个映射关系包括用于表示访问策略认证成功的信息和对应的下一跳位置,另一个映射关系包括用于表示访问策略认证失败的信息和对应的下一跳位置,下一跳位置是指访问条件的地址或者整体认证成功结果或者整体认证失败结果;
根据访问权限控制规则判断访问请求是否具有访问权限包括:根据分支认证流程判断访问请求是否满足每个认证分支的访问条件以及相应的认证策略,根据此认证策略的认证结果对应的跳转指示信息进行跳转,直至跳转到整体认证成功结果或者整体认证失败结果。
具体实施例四
如图5所示,选择4个访问条件,其包括:条件1、条件2、条件3、条件4。每个访问条件对应一个认证策略,即分别为策略1、策略2、策略3、策略4。设置4个访问条件的逻辑关系是:条件1和条件2和条件3和条件4。4个访问条件的排列顺序为条件1、条件2、条件3、条件4。
接收针对API接口的访问请求,判断此访问请求是否满足条件1,确定满足条件1后,根据条件1对应的策略1进行认证,认证成功时,查询此策略1的认证结果的映射关系,获知需跳转到条件2的地址,认证失败时,查询此策略1的认证结果的映射关系,获知整体认证失败,退出整个流程,以此类推。
具体实施例五
如图6所示,选择4个访问条件,其包括:条件1、条件2、条件3、条件4。每个访问条件对应一个认证策略,即分别为策略1、策略2、策略3、策略4。设置4个访问条件的逻辑关系是:条件1或条件2或条件3或条件4。4个访问条件的排列顺序为条件1、条件2、条件3、条件4。
接收针对API接口的访问请求,判断此访问请求是否满足条件1,确定满足条件1后,根据条件1对应的策略1进行认证,认证成功时,查询此策略1的认证结果的映射关系,获知整体认证成功,退出整个流程,认证失败时,查询此策略1的认证结果的映射关系,获知需跳转到条件2的地址,以此类推。
具体实施例六
如图7所示,选择4个访问条件,其包括:条件1、条件2、条件3、条件4。每个访问条件对应一个认证策略,即分别为策略1、策略2、策略3、策略4。设置4个访问条件的逻辑关系是(条件1或条件2)和(条件3或条件4)。4个访问条件的排列顺序为条件1、条件2、条件3、条件4。
接收针对API接口的访问请求,判断此访问请求是否满足条件1,确定满足条件1后,根据条件1对应的策略1进行认证,认证成功时,查询此策略1的认证结果的映射关系,获知需跳转到条件3的地址,认证成功时,查询此策略1的认证结果的映射关系,获知需跳转到条件2的地址,其它条件的判断过程同理。
上述两个实施例中,还支持以下方法:
将访问条件封装为访问条件组件并构建为访问条件组件池,将认证策略封装为认证策略组件并构建认证策略组件池;
设置N个访问条件包括在编辑平台上从访问条件组件池中选择N个访问条件组件;设置每个访问条件对应的认证策略包括在编辑平台上从访问条件组件中选择N个访问条件;
方法还包括:实时更新认证组件池,根据用户指示增加或删减认证组件池中的认证组件;根据认证组件池中认证组件的变化而相应的更新认证策略组件池中的认证策略组件。
这样,在需要认证的时候,用户只需选择合适的组件,并将这些组件组合在一起,这样就不需要再手动编写代码,使创建逻辑复杂的认证流程变得简单而且不易出错。组件化的另一个好处是方便自由组合,当需要对使用中的认证方法进行调整时,只需添加或删除部分组件,或调整组件间的逻辑关系即可实现,如果用户自己创建出自定义的认证规则,也可以很方便地跟其他认证规则结合。这种组合方式与传统设置访问权限的方法相比,不需要编写新的代码和认证逻辑,减少了大量的重复性劳动,并具有较强的可扩展性。
通过以上实施例可以发现,访问条件及认证策略可以自由组合,不同访问条件间通过设置不同的组合关系,执行顺序,可以产生不同的认证策略组合。
如图8所示,动态控制访问权限的装置包括:
接收模块,用于接收访问请求;
控制模块,用于根据访问权限控制规则判断访问请求是否具有访问权限;其中,访问权限控制规则包括:访问条件、认证策略、控制方式;控制方式包括访问条件和认证策略的流程关系。
下面通过不同的实现方式详细说明本装置。
实现方式一
控制方式包括认证条件判断流程;
控制模块还包括第一设置模块,用于构建认证条件判断流程,具体使用以下方法构建认证条件判断流程:
设置N个访问条件,N为大于1的整数,设置每个访问条件对应的认证策略;
设置N个访问条件的逻辑关系和排列顺序;
根据N个访问条件的逻辑关系和排列顺序设置每个访问条件的跳转指示信息;跳转指示信息包括两个映射关系,一个映射关系包括用于表示访问条件满足的信息和对应的下一跳位置,另一个映射关系包括用于表示访问条件不满足的信息和对应的下一跳位置,下一跳位置是指访问条件的地址或者结束地址;
控制模块还用于使用以下方法根据访问权限控制规则判断访问请求是否具有访问权限:根据认证条件判断流程判断访问请求是否满足认证条件,在满足认证条件时,使用所有满足的访问条件对应的认证策略进行认证。
结束地址用于表示认证条件判断流程结束并且不包含访问条件是否满足的指示信息时,根据访问请求和认证条件判断流程判断访问请求是否满足认证条件包括:使用访问请求执行认证条件判断流程,执行到一访问条件的映射关系中的结束地址时,判断此访问条件满足时,确定访问请求满足访问条件;
结束地址是用于表示认证条件判断流程结束并且包含访问条件满足的指示信息的第一结束地址,或者,是用于表示认证条件判断流程结束并且包含访问条件满足的指示信息的第二结束地址;根据访问请求和认证条件判断流程判断访问请求是否满足认证条件包括:使用访问请求执行认证条件判断流程,执行到一访问条件的映射关系中的第一结束地址时,确定访问请求满足访问条件,或者,执行到一访问条件的映射关系中的第二结束地址时,确定访问请求不满足访问条件;
设置N个访问条件的逻辑关系包括以下方式中的一种:
设置N个访问条件均为逻辑或的关系;
设置N个访问条件均为逻辑和的关系;
将N个访问条件分为M个组,至少有一个组中包括一个以上的访问条件,每个组内的所有访问条件的逻辑关系相同,不同组之间的逻辑关系相同,每个组内的所有访问条件的逻辑关系与不同之间的逻辑关系不同。
实现方式二
控制方式包括分支认证流程;
装置还包括第二设置模块,用于构建分支认证流程,具体的,使用以下方法构建分支认证流程:
设置N个访问条件,N为大于1的整数,设置每个访问条件对应的认证策略;每个访问条件和此访问条件对应的认证策略构成一个认证分支;
设置N个访问条件的逻辑关系和排列顺序;
根据N个访问条件的逻辑关系和排列顺序设置每个访问策略的认证结果对应的跳转指示信息;跳转指示信息包括两个映射关系,一个映射关系包括用于表示访问策略认证成功的信息和对应的下一跳位置,另一个映射关系包括用于表示访问策略认证失败的信息和对应的下一跳位置,下一跳位置是指访问条件的地址或者整体认证成功结果或者整体认证失败结果;
控制模块还用于使用以下方法根据访问权限控制规则判断访问请求是否具有访问权限:根据分支认证流程判断访问请求是否满足每个认证分支的访问条件以及相应的认证策略,根据此认证策略的认证结果对应的跳转指示信息进行跳转,直至跳转到整体认证成功结果或者整体认证失败结果。
在上述两个实现方式的基础上,本装置还包括:
构建模块,用于将访问条件封装为访问条件组件并构建为访问条件组件池,将认证策略封装为认证策略组件并构建认证策略组件池;
选择模块,用于在编辑平台上从访问条件组件池中选择N个访问条件组件;在编辑平台上从访问条件组件中选择N个访问条件;
维护模块,用于实时更新认证组件池,根据用户指示增加或删减认证组件池中的认证组件;根据认证组件池中认证组件的变化而相应的更新认证策略组件池中的认证策略组件。
本发明可以方便地为API接口根据不同应用场景创建出不同的权限控制流程,权限控制流程的可自由定制组合,具有较强的可扩展性。
上面描述的内容可以单独地或者以各种方式组合起来实施,而这些变型方式都在本发明的保护范围之内。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的物品或者设备中还存在另外的相同要素。
以上实施例仅用以说明本发明的技术方案而非限制,仅仅参照较佳实施例对本发明进行了详细说明。本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,均应涵盖在本发明的权利要求范围当中。
Claims (10)
1.一种动态控制访问权限的方法,包括:
接收访问请求;
根据访问权限控制规则判断所述访问请求是否具有访问权限;其中,所述访问权限控制规则包括:访问条件、认证策略、控制方式;所述控制方式包括所述访问条件和所述认证策略的流程关系;
所述控制方式包括认证条件判断流程;
在所述接收访问请求之前,所述方法包括构建认证条件判断流程的方法:所述构建认证条件判断流程的方法包括:
设置N个访问条件,N为大于1的整数,设置每个访问条件对应的认证策略;
设置所述N个访问条件的逻辑关系和排列顺序;
根据所述N个访问条件的逻辑关系和排列顺序设置每个访问条件的跳转指示信息;所述跳转指示信息包括两个映射关系,一个映射关系包括用于表示访问条件满足的信息和对应的下一跳位置,另一个映射关系包括用于表示访问条件不满足的信息和对应的下一跳位置,所述下一跳位置是指访问条件的地址或者结束地址;
所述根据访问权限控制规则判断所述访问请求是否具有访问权限包括:根据所述认证条件判断流程判断所述访问请求是否满足认证条件,在满足认证条件时,使用所有满足的访问条件对应的认证策略进行认证。
2.如权利要求1所述的动态控制访问权限的方法,其特征在于,
所述结束地址用于表示认证条件判断流程结束并且不包含访问条件是否满足的指示信息时,所述根据访问请求和所述认证条件判断流程判断所述访问请求是否满足认证条件包括:使用所述访问请求执行所述认证条件判断流程,执行到一访问条件的映射关系中的结束地址时,判断此访问条件满足时,确定所述访问请求满足访问条件;
所述结束地址是用于表示认证条件判断流程结束并且包含访问条件满足的指示信息的第一结束地址,或者,是用于表示认证条件判断流程结束并且包含访问条件满足的指示信息的第二结束地址;所述根据访问请求和所述认证条件判断流程判断所述访问请求是否满足认证条件包括:使用所述访问请求执行所述认证条件判断流程,执行到一访问条件的映射关系中的第一结束地址时,确定所述访问请求满足访问条件,或者,执行到一访问条件的映射关系中的第二结束地址时,确定所述访问请求不满足访问条件。
3.如权利要求2所述的动态控制访问权限的方法,其特征在于,
设置所述N个访问条件的逻辑关系包括以下方式中的一种:
设置所述N个访问条件均为逻辑或的关系;
设置所述N个访问条件均为逻辑和的关系;
将所述N个访问条件分为M个组,至少有一个组中包括一个以上的访问条件,每个组内的所有访问条件的逻辑关系相同,不同组之间的逻辑关系相同,每个组内的所有访问条件的逻辑关系与不同之间的逻辑关系不同。
4.如权利要求2所述的动态控制访问权限的方法,其特征在于,
设置所述N个访问条件的排列顺序包括:
为每个访问条件设置优先级属性,接收用户设置的访问条件的优先级的值;
设置所述N个访问条件按优先级从高到低的排列。
5.如权利要求1所述的动态控制访问权限的方法,其特征在于,
所述控制方式包括分支认证流程;
在所述接收访问请求之前,所述方法包括构建分支认证流程的方法:所述构建分支认证流程的方法包括:
设置N个访问条件,N为大于1的整数,设置每个访问条件对应的认证策略;每个访问条件和此访问条件对应的认证策略构成一个认证分支;
设置所述N个访问条件的逻辑关系和排列顺序;
根据所述N个访问条件的逻辑关系和排列顺序设置每个访问策略的认证结果对应的跳转指示信息;所述跳转指示信息包括两个映射关系,一个映射关系包括用于表示访问策略认证成功的信息和对应的下一跳位置,另一个映射关系包括用于表示访问策略认证失败的信息和对应的下一跳位置,所述下一跳位置是指访问条件的地址或者整体认证成功结果或者整体认证失败结果;
所述根据访问权限控制规则判断所述访问请求是否具有访问权限包括:根据所述分支认证流程判断所述访问请求是否满足每个认证分支的访问条件以及相应的认证策略,根据此认证策略的认证结果对应的跳转指示信息进行跳转,直至跳转到整体认证成功结果或者整体认证失败结果。
6.如权利要求1至5中任一权利要求所述的动态控制访问权限的方法,其特征在于,
所述方法还包括:将访问条件封装为访问条件组件并构建为访问条件组件池,将认证策略封装为认证策略组件并构建认证策略组件池;
所述设置N个访问条件包括在编辑平台上从访问条件组件池中选择N个访问条件组件;所述设置每个访问条件对应的认证策略包括在编辑平台上从所述访问条件组件中选择N个访问条件;
所述方法还包括:实时更新认证组件池,根据用户指示增加或删减所述认证组件池中的认证组件;根据所述认证组件池中认证组件的变化而相应的更新认证策略组件池中的认证策略组件。
7.一种动态控制访问权限的装置,包括:
接收模块,用于接收访问请求;
控制模块,用于根据访问权限控制规则判断所述访问请求是否具有访问权限;其中,所述访问权限控制规则包括:访问条件、认证策略、控制方式;所述控制方式包括所述访问条件和所述认证策略的流程关系;
所述控制方式包括认证条件判断流程;
所述控制模块还包括第一设置模块,用于构建认证条件判断流程,具体使用以下方法构建认证条件判断流程:
设置N个访问条件,N为大于1的整数,设置每个访问条件对应的认证策略;
设置所述N个访问条件的逻辑关系和排列顺序;
根据所述N个访问条件的逻辑关系和排列顺序设置每个访问条件的跳转指示信息;所述跳转指示信息包括两个映射关系,一个映射关系包括用于表示访问条件满足的信息和对应的下一跳位置,另一个映射关系包括用于表示访问条件不满足的信息和对应的下一跳位置,所述下一跳位置是指访问条件的地址或者结束地址;
所述控制模块,用于使用以下方法根据访问权限控制规则判断所述访问请求是否具有访问权限:根据所述认证条件判断流程判断所述访问请求是否满足认证条件,在满足认证条件时,使用所有满足的访问条件对应的认证策略进行认证。
8.如权利要求7所述的动态控制访问权限的装置,其特征在于,
所述结束地址用于表示认证条件判断流程结束并且不包含访问条件是否满足的指示信息时,所述根据访问请求和所述认证条件判断流程判断所述访问请求是否满足认证条件包括:使用所述访问请求执行所述认证条件判断流程,执行到一访问条件的映射关系中的结束地址时,判断此访问条件满足时,确定所述访问请求满足访问条件;
所述结束地址是用于表示认证条件判断流程结束并且包含访问条件满足的指示信息的第一结束地址,或者,是用于表示认证条件判断流程结束并且包含访问条件满足的指示信息的第二结束地址;所述根据访问请求和所述认证条件判断流程判断所述访问请求是否满足认证条件包括:使用所述访问请求执行所述认证条件判断流程,执行到一访问条件的映射关系中的第一结束地址时,确定所述访问请求满足访问条件,或者,执行到一访问条件的映射关系中的第二结束地址时,确定所述访问请求不满足访问条件;
设置所述N个访问条件的逻辑关系包括以下方式中的一种:
设置所述N个访问条件均为逻辑或的关系;
设置所述N个访问条件均为逻辑和的关系;
将所述N个访问条件分为M个组,至少有一个组中包括一个以上的访问条件,每个组内的所有访问条件的逻辑关系相同,不同组之间的逻辑关系相同,每个组内的所有访问条件的逻辑关系与不同之间的逻辑关系不同。
9.如权利要求7所述的动态控制访问权限的装置,其特征在于,
所述控制方式包括分支认证流程;
所述装置还包括第二设置模块,用于构建分支认证流程,具体的,使用以下方法构建分支认证流程:
设置N个访问条件,N为大于1的整数,设置每个访问条件对应的认证策略;每个访问条件和此访问条件对应的认证策略构成一个认证分支;
设置所述N个访问条件的逻辑关系和排列顺序;
根据所述N个访问条件的逻辑关系和排列顺序设置每个访问策略的认证结果对应的跳转指示信息;所述跳转指示信息包括两个映射关系,一个映射关系包括用于表示访问策略认证成功的信息和对应的下一跳位置,另一个映射关系包括用于表示访问策略认证失败的信息和对应的下一跳位置,所述下一跳位置是指访问条件的地址或者整体认证成功结果或者整体认证失败结果;
所述控制模块,还用于使用以下方法根据访问权限控制规则判断所述访问请求是否具有访问权限:根据所述分支认证流程判断所述访问请求是否满足每个认证分支的访问条件以及相应的认证策略,根据此认证策略的认证结果对应的跳转指示信息进行跳转,直至跳转到整体认证成功结果或者整体认证失败结果。
10.如权利要求7至9中任一权利要求所述的动态控制访问权限的装置,其特征在于,还包括:
构建模块,用于将访问条件封装为访问条件组件并构建为访问条件组件池,将认证策略封装为认证策略组件并构建认证策略组件池;
选择模块,用于在编辑平台上从访问条件组件池中选择N个访问条件组件;在编辑平台上从所述访问条件组件中选择N个访问条件;
维护模块,用于实时更新认证组件池,根据用户指示增加或删减所述认证组件池中的认证组件;根据所述认证组件池中认证组件的变化而相应的更新认证策略组件池中的认证策略组件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910196241.0A CN111695112B (zh) | 2019-03-15 | 2019-03-15 | 一种动态控制访问权限的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910196241.0A CN111695112B (zh) | 2019-03-15 | 2019-03-15 | 一种动态控制访问权限的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111695112A CN111695112A (zh) | 2020-09-22 |
CN111695112B true CN111695112B (zh) | 2023-06-02 |
Family
ID=72475847
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910196241.0A Active CN111695112B (zh) | 2019-03-15 | 2019-03-15 | 一种动态控制访问权限的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111695112B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112311782A (zh) * | 2020-10-23 | 2021-02-02 | 深圳竹云科技有限公司 | 访问控制方法、装置、处理器及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101951372A (zh) * | 2010-09-17 | 2011-01-19 | 公安部第三研究所 | 一种双授权跨域访问控制方法 |
CN102804199A (zh) * | 2009-06-03 | 2012-11-28 | 株式会社东芝 | 访问控制系统 |
CN109150878A (zh) * | 2018-08-21 | 2019-01-04 | 郑州云海信息技术有限公司 | 一种云平台的访问限制的方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108156265B (zh) * | 2010-11-22 | 2019-03-26 | 杭州硕文软件有限公司 | 一种应用程序控制方法及移动设备 |
-
2019
- 2019-03-15 CN CN201910196241.0A patent/CN111695112B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102804199A (zh) * | 2009-06-03 | 2012-11-28 | 株式会社东芝 | 访问控制系统 |
CN101951372A (zh) * | 2010-09-17 | 2011-01-19 | 公安部第三研究所 | 一种双授权跨域访问控制方法 |
CN109150878A (zh) * | 2018-08-21 | 2019-01-04 | 郑州云海信息技术有限公司 | 一种云平台的访问限制的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111695112A (zh) | 2020-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10176084B2 (en) | Collaborative computer aided test plan generation | |
CN108769258B (zh) | 用于将区块链网络托管于区块链应用平台的方法和装置 | |
CN110855777B (zh) | 一种基于区块链的节点管理方法及装置 | |
CN110909373B (zh) | 一种访问控制方法、设备、系统及存储介质 | |
CN110022315B (zh) | 一种块链式账本中的权重管理方法、装置及设备 | |
US10776097B2 (en) | Hierarchical spanning tree software patching with fragmentation support | |
CN113468136A (zh) | 云平台的升级方法、装置和服务器 | |
CN111695112B (zh) | 一种动态控制访问权限的方法及装置 | |
CN105224541B (zh) | 数据的唯一性控制方法、信息存储方法及装置 | |
CN110673787A (zh) | 一种配置卷的方法及装置 | |
CN114091025A (zh) | 基于云原生平台的安全检测方法、装置、镜像构建方法 | |
CN111177703A (zh) | 操作系统数据完整性的确定方法及装置 | |
US9471784B1 (en) | Automated firmware settings verification | |
CN105988949A (zh) | 终端设备、数据交互处理的方法及系统 | |
CN102377589A (zh) | 实现权限管理控制的方法及终端 | |
CN110866380A (zh) | 一种填写信息字段内容的方法、终端 | |
US20220164438A1 (en) | Incident scenario generation device and incident scenario generation system | |
CN114244887A (zh) | 通道管理方法、装置和电子设备 | |
CN111953637B (zh) | 一种应用服务方法与装置 | |
US9471536B1 (en) | Automated firmware settings management | |
CN107295556B (zh) | 策略控制和计费策略冲突的检测方法及装置、设备 | |
CN111736895A (zh) | 软件产品版本号合并及升级方法、设备及存储介质 | |
CN112532660A (zh) | 一种数据同步的方法、装置和网络管理系统 | |
CN113672177B (zh) | 一种多客户端定制卷QoS的方法、装置、设备及可读介质 | |
CN110011832A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |