CN107508793A - 一种基于面向切面编程aop认证与授权的方法及装置 - Google Patents
一种基于面向切面编程aop认证与授权的方法及装置 Download PDFInfo
- Publication number
- CN107508793A CN107508793A CN201710571546.6A CN201710571546A CN107508793A CN 107508793 A CN107508793 A CN 107508793A CN 201710571546 A CN201710571546 A CN 201710571546A CN 107508793 A CN107508793 A CN 107508793A
- Authority
- CN
- China
- Prior art keywords
- user
- predictive encoding
- code snippet
- authority checking
- sdk
- 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
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
-
- 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/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0815—Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
-
- 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/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0892—Network architectures or network communication protocols for network security for authentication of entities by using authentication-authorization-accounting [AAA] servers or protocols
Abstract
本发明实施例提供了一种基于面向切面编程AOP认证与授权的方法及装置,该方法包括:接收到用户的登录请求后,判断待执行的代码片段中是否存在预定编码;若存在预定编码,在所述预定编码处调用第一软件开发工具包,并通过所述第一软件开发工具包对所述用户的登录请求进行登录验证;检测到所述用户登录验证成功后,获取所述预定编码中的授权相关参数,并根据已获取的所述授权相关参数,判断是否对所述用户进行授权验证;若判断结果为对所述用户进行授权验证,调用第二软件开发工具包,并通过所述第二软件开发工具包对所述用户进行授权验证。通过本发明,实现了在不修改原有业务逻辑代码的前提下,仅需通过各个切点即可完成认证和授权。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于面向切面编程AOP认证与授权的方法及装置。
背景技术
随着计算机技术的不断发展,网络环境日趋复杂,构建安全的网络应用已经成为各个领域网络应用的必要因素。由于各个应用系统之间的交互业务也越来越多,目前,用户只需要登录一次就可以访问所有相互信任的应用系统,因此,各个应用系统间的相互认证及安全通信也已成为不可或缺的要求。现有技术中,要实现认证登录功能需要引入对应的SSO(Single Sign On,单点登录)统一认证服务的SDK(Software Development Kit,软件开发工具包)实现登录认证业务逻辑或者自行实现登录认证业务逻辑,对于授权功能一般采用RBAC(Role-Based Access Control,基于角色的权限访问控制)来管理授权,RBAC和SSO类似,也需要引入对应的SDK实现授权的具体的业务逻辑或者自行实现授权的具体的业务逻辑,实现了认证功能和授权服务功能后,在业务代码中根据业务需求调用SSO的SDK和授权的SDK来进行认证和授权控制。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
现有技术的认证和授权是通过在具体的业务场景中分别根据不同业务需求将认证功能和授权服务功能分别嵌入到具体的不同业务代码中的,使得每个业务代码无法复用并且维护难度增加,从而导致开发维护成本加大。
发明内容
本发明实施例提供一种基于面向切面编程AOP认证与授权的方法及装置,实现了在不修改原有业务逻辑代码的前提下,仅需通过各个切点即可完成认证和授权。
一方面,本发明实施例提供了一种基于面向切面编程AOP认证与授权的方法,包括:
接收到用户的登录请求后,判断待执行的代码片段中是否存在预定编码;
若存在预定编码,在所述预定编码处调用第一软件开发工具包,并通过所述第一软件开发工具包对所述用户的登录请求进行登录验证;
检测到所述用户登录验证成功后,获取所述预定编码中的授权相关参数,并根据已获取的所述授权相关参数,判断是否对所述用户进行授权验证;
若判断结果为对所述用户进行授权验证,调用第二软件开发工具包,并通过所述第二软件开发工具包对所述用户进行授权验证。
另一方面,本发明实施例提供了一种基于面向切面编程AOP认证与授权的装置,包括:
确定单元,用于接收到用户的登录请求后,判断待执行的代码片段中是否存在预定编码;
第一调用及验证单元,用于若存在预定编码,在所述预定编码处调用第一软件开发工具包,并通过所述第一软件开发工具包对所述用户的登录请求进行登录验证;
获取及判断单元,用于检测到所述用户登录验证成功后,获取所述预定编码中的授权相关参数,并根据已获取的所述授权相关参数,判断是否对所述用户进行授权验证;
第二调用及验证单元,用于若判断结果为对所述用户进行授权验证,调用第二软件开发工具包,并通过所述第二软件开发工具包对所述用户进行授权验证。
上述技术方案具有如下有益效果:通过在待执行的代码片段中设置预定的编码,实现了在代码片段中设置AOP切面的切点,为根据切点快速准确地抽象出认证和授权的业务逻辑提供了必要的前提保障;根据预定编码的切点的参数化定制认证及授权,实现了通过切面将认证和授权的逻辑汇总在一起,同时,实现了在实际业务使用认证和授权时,在不修改原有业务逻辑代码的前提下,仅需通过各个切点即可完成认证和授权,提高了认证和授权的效率,进一步地,简化了认证和授权的逻辑的实现过程,从而降低了开发维护的难度和成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中基于AOP认证与授权的方法流程图;
图2为本发明实施例中基于AOP认证与授权的装置结构示意图;
图3为本发明一优选实施例中基于AOP认证逻辑流程示意图;
图4为本发明一优选实施例中基于AOP授权逻辑流程示意图;
图5为本发明一优选实施例中各业务逻辑的架构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,为本发明实施例中基于AOP(面向切面编程)认证与授权的方法流程图。
101、接收到用户的登录请求后,判断待执行的代码片段中是否存在预定编码;
102、若存在预定编码,在所述预定编码处调用第一软件开发工具包,并通过所述第一软件开发工具包对所述用户的登录请求进行登录验证;
103、检测到所述用户登录验证成功后,获取所述预定编码中的授权相关参数,并根据已获取的所述授权相关参数,判断是否对所述用户进行授权验证;
104、若判断结果为对所述用户进行授权验证,调用第二软件开发工具包,并通过所述第二软件开发工具包对所述用户进行授权验证。
优选地,所述判断待执行的代码片段中是否存在预定编码,具体包括:
判断待执行的代码片段中是否使用预定的编码方式,如果是,则判定待执行的代码片段中存在预定编码,所述预定的编码方式包括预定注解格式的编码方式和预定配置文件的编码方式;
或者,
在接收用户的登录请求之前,根据预定的编码方式初始化查找存在预定编码的每一个代码片段;以及根据查找结果判断待执行的代码片段中是否存在预定编码。
可选地,还包括:
在待设置预定编码的代码片段中根据预定的编码方式预先设置至少一个预定编码,并确定所述代码片段的每一个预定编码处执行登录验证或授权验证的优先级顺序的优先级顺序;以及,根据设定的在各预定编码处执行登录验证或授权验证的优先级顺序,在所述代码片段的各预定编码处按序执行登录验证或授权验证。
可选地,所述检测到所述用户登录验证成功后,还包括:
获取所述用户的用户信息,并对获取到的所述用户信息进行数据处理;
将数据处理后的所述用户信息存储至用户对象库中;
其中,所述用户对象库中存储数据处理后的各个用户的用户信息。
优选地,所述若判断结果为对所述用户进行授权验证,调用第二软件开发工具包,并通过所述第二软件开发工具包对所述用户进行授权验证,包括:
从所述用户对象库中获取所述用户的用户信息,并根据用户的业务需求,获取所述用户的待访问资源信息;
根据已获取的所述用户的用户信息和所述用户的待访问资源信息,通过所述第二软件开发工具包对所述用户进行授权验证。
如图2所示,为本发明实施例中基于AOP(面向切面编程)认证与授权的装置结构示意图。
确定单元21,用于接收到用户的登录请求后,判断待执行的代码片段中是否存在预定编码;
第一调用及验证单元22,用于若存在预定编码,在所述预定编码处调用第一软件开发工具包,并通过所述第一软件开发工具包对所述用户的登录请求进行登录验证;
获取及判断单元23,用于检测到所述用户登录验证成功后,获取所述预定编码中的授权相关参数,并根据已获取的所述授权相关参数,判断是否对所述用户进行授权验证;
第二调用及验证单元24,用于若判断结果为对所述用户进行授权验证,调用第二软件开发工具包,并通过所述第二软件开发工具包对所述用户进行授权验证。
优选地,所述确定单元,具体包括:
第一判断模块,用于判断待执行的代码片段中是否使用预定的编码方式,如果是,则判定待执行的代码片段中存在预定编码,所述预定的编码方式包括预定注解格式的编码方式和预定配置文件的编码方式;
或者,
查找模块,用于在接收用户的登录请求之前,根据预定的编码方式初始化查找存在预定编码的每一个代码片段;
第二判断模块,用于根据所述查找模块的查找结果判断待执行的代码片段中是否存在预定编码。
可选地,还包括:
预先设置单元,用于在待设置预定编码的代码片段中根据预定的编码方式预先设置至少一个预定编码,并设定在所述代码片段的每一个预定编码处执行登录验证或授权验证的优先级顺序;其中,设定的在各预定编码处执行登录验证或授权验证的优先级顺序,用于指示在所述代码片段的各预定编码处按序执行登录验证或授权验证。
可选地,所述检测到所述用户登录验证成功后,还包括:
获取及处理单元,用于获取所述用户的用户信息,并对获取到的所述用户信息进行数据处理;
存储单元,用于将数据处理后的所述用户信息存储至用户对象库中;
其中,所述用户对象库中存储数据处理后的各个用户的用户信息。
优选地,所述第二调用及验证单元,包括:
获取模块,用于从所述用户对象库中获取所述用户的用户信息,并根据用户的业务需求,获取所述用户的待访问资源信息;
验证模块,用于根据已获取的所述用户的用户信息和所述用户的待访问资源信息,通过所述第二软件开发工具包对所述用户进行授权验证。
本发明实施例上述技术方案具有如下有益效果:通过在待执行的代码片段中设置预定的编码,实现了在代码片段中设置AOP切面的切点,为根据切点快速准确地抽象出认证和授权的业务逻辑提供了必要的前提保障;根据预定编码的切点的参数化定制认证及授权,实现了通过切面将认证和授权的逻辑汇总在一起,同时,实现了在实际业务使用认证和授权时,在不修改原有业务逻辑代码的前提下,仅需通过各个切点即可完成认证和授权,提高了认证和授权的效率,进一步地,简化了认证和授权的逻辑的实现过程,从而降低了开发维护的难度和成本。
以下结合应用实例对本发明实施例上述技术方案进行详细说明:
本发明应用实例旨在不修改原有业务逻辑代码的前提下,仅需通过各个切点即可完成认证和授权。
如图1所示,在网页应用App1中,基于AOP的思想,预定的编码方式为预定注解格式的编码方式,预定注解格式如“@AAA”,根据预定的注解在各个代码片段中设置切点;当接收到用户user1的登录App1请求后,判断待执行的代码片段,如登录函数的代码片段,中是否存在包括预定编码“@AAA”的注释即切点,若存在“@AAA”的注释,调用SSO的SDK对用户user1的登录请求进行登录验证;当检测到用户user1登录验证成功后,获取“@AAA(authorization=true)”的注释中的授权相关参数,如参数authorization,并根据参数authorization的值为“true”,可判断对用户user1进行授权验证,随后,调用RBAC权限控制服务的SDK对用户user1进行授权验证。
在一优选实施例中,所述判断待执行的代码片段中是否存在预定编码,还包括:
在接收用户的登录请求之前,根据预定的编码方式初始化查找存在预定编码的每一个代码片段;以及根据查找结果判断待执行的代码片段中是否存在预定编码。其中,所述预定的编码方式包括预定注解格式的编码方式和预定配置文件的编码方式。
例如,在网页应用App1启动后,初始化过程中,查找出存在“@AAA”的注释的每一个函数的代码片段,并根据查找结果判断待执行的代码片段中是否存在“@AAA”的注释。需要说明的是,所述代码片段可以是一个函数的代码片段,或者是一个类的代码片段,或者是一个代码文件的代码片段,还可以是编程人员自定义起始位置和终止位置的代码片段,本实施例中虽会以特定代码片段为例说明,但在此不做限定。
在一优选实施例中,该方法还包括:在待设置预定编码的代码片段中根据预定的编码方式预先设置至少一个预定编码,并设定在所述代码片段的每一个预定编码处的执行登录验证或授权验证的优先级顺序;以及,根据设定的在各预定编码处执行登录验证或授权验证的优先级顺序,在所述代码片段的各预定编码处按序执行登录验证或授权验证。其中,待设置预定编码的代码片段为根据用户的业务需求,开发人员自定义需要设置预定编码的代码片段。
例如,在网页应用App1中待进行认证授权的函数fun1的代码片段中,根据预定注解格式的编码方式预先设置预定编码如“@AAA”的注释,并设定在函数fun1代码片段的预定编码“@AAA”的注释处执行授权验证的优先级顺序如为AfterRuturning,即“在所拦截函数fun1方法返回值后,再执行授权验证”,根据设定的在“@AAA”的注释处执行授权验证的优先级顺序,在函数fun1代码片段中执行其它业务逻辑,并返回值后,再执行“@AAA”的注释对应的授权验证。
需要说明的是,本领域技术人员可以了解到,在AOP开发过程中,各切点的优先级顺序包括如下5中顺序:(1)Before,在所拦截方法执行前执行;(2)After,在所拦截方法执行后执行;(3)AfterRuturning,在所拦截方法返回值后执行;(4)AfterThrowing,当所拦截方法抛出异常时执行;(5)Around,最为复杂的切入方式,该方式可以包括上述4个方式。本发明的实施例中,预定编码处即为切点处,本发明中虽会以特定的优先级顺序为例说明,但在此不做限定。
在一优选实施例中,所述检测到所述用户登录验证成功后,还包括:获取所述用户的用户信息,并对获取到的所述用户信息进行数据处理;将数据处理后的所述用户信息存储至用户对象库中。
其中,所述用户对象库中存储数据处理后的各个用户的用户信息。
例如,检测到用户user1登录网页应用App1验证成功后,获取用户user1的用户信息,如用户的联系方式、用户的角色信息“管理员”和用户的性别信息“男”等,并对获取到的用户user1的用户信息进行数据处理,如根据预定规则将用户的用户信息进行组合,得到用户user1的实例化用户对象;将数据处理后的用户user1的实例化用户对象存储至用户对象库中。
通过本实施例,将用户的详细信息实例化成一个单例用户对象,以使得业务处理过程中能够获取当前登录的用户信息,为快速、高效地授权验证登录后的用户的权限提供了必要的前提条件。
在一优选实施例中,所述若判断结果为对所述用户进行授权验证,调用第二软件开发工具包,并通过所述第二软件开发工具包对所述用户进行授权验证,包括:从所述用户对象库中获取所述用户的用户信息,并根据用户的业务需求,获取所述用户的待访问资源信息;根据已获取的所述用户的用户信息和所述用户的待访问资源信息,通过所述第二软件开发工具包对所述用户进行授权验证。
例如,接上例,从用户对象库中获取用户user1的用户信息,并根据用户user1的业务需求,获取user1的待访问资源信息,随后,根据已获取的用户user1的用户信息和用户user1的待访问资源信息,通过调用RBAC权限控制服务的SDK对用户user1进行授权验证。
在一具体应用场景中,在网页应用App2中待进行认证授权的各个函数的代码片段中根据预定注解格式的编码方式预设置预定编码如“@AAA”的注释,并确定在每一个预定编码处执行登录验证或授权验证的优先级顺序;在网页应用App2初始化过程中,查找出存在“@AAA”的注释的每一个函数的代码片段;当接收到用户user2的登录App2请求后,通过反射方式确定待执行的代码片段,如登录函数的代码片段,中是否存在包括预定编码“@AAA”的注释,若存在“@AAA”的注释,调用SSO的SDK对用户user2的登录请求进行登录验证,参考图3的认证逻辑处理过程,如果当前没有通过登录验证,则需要跳转到SSO服务指定的用户登录页面,做登录逻辑处理,其中具体的登录逻辑是由SSO服务完成,本实施例只负责页面跳转,当SSO服务完成登录处理后需要继续跳转回当前业务页面,再次执行上述通过反射方式确定待执行的登录函数的代码片段中是否存在包括预定编码“@AAA”的注释,并确定是否调用SSO的SDK对用户user2的登录请求进行登录验证的步骤;如果登录验证成功后,会返回登录用户user2的详细信息,如用户的联系方式、用户的角色信息“管理员”和用户的性别信息“男”等,并对获取到的用户user2的用户信息进行数据处理,如根据预定规则将用户的用户信息进行组合,得到用户user1的实例化用户对象,将数据处理后的用户user1的实例化用户对象存储至用户对象库中;随后,参考图4的授权逻辑处理过程,根据认证逻辑过程中反射预定编码“@AAA(authorization=true)”的注释,得到“@AAA”的注释中的参数authorization的值为“true”判断需要对用户授权验证,随后,从用户对象库中获取上述认证过程中生成的用户user2的单例用户对象,并从授权逻辑业务中通过对象反射获取用户user2的访问的资源信息,根据获取的用户user2的单例用户对象和用户user2的访问的资源信息,调用RBAC权限控制服务的SDK进行授权验证,如果验证通过则继续执行后续业务逻辑,如果验证失败则返回错误异常信息;其中,各个业务中实现其各自的各个逻辑的框架,如图5所示。
本发明实施例提供了一种基于AOP(面向切面编程)认证与授权的装置,可以实现上述提供的方法实施例,具体功能实现请参见方法实施例中的说明,在此不再赘述。
应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于所述的特定顺序或层次。
在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要比清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。
为使本领域内的任何技术人员能够实现或者使用本发明,上面对所公开实施例进行了描述。对于本领域技术人员来说;这些实施例的各种修改方式都是显而易见的,并且本文定义的一般原理也可以在不脱离本公开的精神和保护范围的基础上适用于其它实施例。因此,本公开并不限于本文给出的实施例,而是与本申请公开的原理和新颖性特征的最广范围相一致。
上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。
本领域技术人员还可以了解到本发明实施例列出的各种说明性逻辑块(illustrative logical block),单元,和步骤可以通过电子硬件、电脑软件,或两者的结合进行实现。为清楚展示硬件和软件的可替换性(interchangeability),上述的各种说明性部件(illustrative components),单元和步骤已经通用地描述了它们的功能。这样的功能是通过硬件还是软件来实现取决于特定的应用和整个系统的设计要求。本领域技术人员可以对于每种特定的应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为超出本发明实施例保护的范围。
本发明实施例中所描述的各种说明性的逻辑块,或单元都可以通过通用处理器,数字信号处理器,专用集成电路(ASIC),现场可编程门阵列或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。
本发明实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件模块、或者这两者的结合。软件模块可以存储于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于ASIC中,ASIC可以设置于用户终端中。可选地,处理器和存储媒介也可以设置于用户终端中的不同的部件中。
在一个或多个示例性的设计中,本发明实施例所描述的上述功能可以在硬件、软件、固件或这三者的任意组合来实现。如果在软件中实现,这些功能可以存储与电脑可读的媒介上,或以一个或多个指令或代码形式传输于电脑可读的媒介上。电脑可读媒介包括电脑存储媒介和便于使得让电脑程序从一个地方转移到其它地方的通信媒介。存储媒介可以是任何通用或特殊电脑可以接入访问的可用媒体。例如,这样的电脑可读媒体可以包括但不限于RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁性存储装置,或其它任何可以用于承载或存储以指令或数据结构和其它可被通用或特殊电脑、或通用或特殊处理器读取形式的程序代码的媒介。此外,任何连接都可以被适当地定义为电脑可读媒介,例如,如果软件是从一个网站站点、服务器或其它远程资源通过一个同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或以例如红外、无线和微波等无线方式传输的也被包含在所定义的电脑可读媒介中。所述的碟片(disk)和磁盘(disc)包括压缩磁盘、镭射盘、光盘、DVD、软盘和蓝光光盘,磁盘通常以磁性复制数据,而碟片通常以激光进行光学复制数据。上述的组合也可以包含在电脑可读媒介中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于面向切面编程AOP认证与授权的方法,其特征在于,包括:
接收到用户的登录请求后,判断待执行的代码片段中是否存在预定编码;
若存在预定编码,在所述预定编码处调用第一软件开发工具包,并通过所述第一软件开发工具包对所述用户的登录请求进行登录验证;
检测到所述用户登录验证成功后,获取所述预定编码中的授权相关参数,并根据已获取的所述授权相关参数,判断是否对所述用户进行授权验证;
若判断结果为对所述用户进行授权验证,调用第二软件开发工具包,并通过所述第二软件开发工具包对所述用户进行授权验证。
2.根据权利要求1所述的方法,其特征在于,所述判断待执行的代码片段中是否存在预定编码,具体包括:
判断待执行的代码片段中是否使用预定的编码方式,如果是,则判定待执行的代码片段中存在预定编码,所述预定的编码方式包括预定注解格式的编码方式和预定配置文件的编码方式;
或者,
在接收用户的登录请求之前,根据预定的编码方式初始化查找存在预定编码的每一个代码片段;以及根据查找结果判断待执行的代码片段中是否存在预定编码。
3.根据权利要求1所述的方法,其特征在于,还包括:
在待设置预定编码的代码片段中根据预定的编码方式预先设置至少一个预定编码,并设定在所述代码片段的每一个预定编码处执行登录验证或授权验证的优先级顺序;以及,根据设定的在各预定编码处执行登录验证或授权验证的优先级顺序,在所述代码片段的各预定编码处按序执行登录验证或授权验证。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述检测到所述用户登录验证成功后,还包括:
获取所述用户的用户信息,并对获取到的所述用户信息进行数据处理;
将数据处理后的所述用户信息存储至用户对象库中;
其中,所述用户对象库中存储数据处理后的各个用户的用户信息。
5.根据权利要求4所述的方法,其特征在于,所述若判断结果为对所述用户进行授权验证,调用第二软件开发工具包,并通过所述第二软件开发工具包对所述用户进行授权验证,包括:
从所述用户对象库中获取所述用户的用户信息,并根据用户的业务需求,获取所述用户的待访问资源信息;
根据已获取的所述用户的用户信息和所述用户的待访问资源信息,通过所述第二软件开发工具包对所述用户进行授权验证。
6.一种基于面向切面编程AOP认证与授权的装置,其特征在于,包括:
确定单元,用于接收到用户的登录请求后,判断待执行的代码片段中是否存在预定编码;
第一调用及验证单元,用于若存在预定编码,在所述预定编码处调用第一软件开发工具包,并通过所述第一软件开发工具包对所述用户的登录请求进行登录验证;
获取及判断单元,用于检测到所述用户登录验证成功后,获取所述预定编码中的授权相关参数,并根据已获取的所述授权相关参数,判断是否对所述用户进行授权验证;
第二调用及验证单元,用于若判断结果为对所述用户进行授权验证,调用第二软件开发工具包,并通过所述第二软件开发工具包对所述用户进行授权验证。
7.根据权利要求6所述的装置,其特征在于,所述确定单元,具体包括:
第一判断模块,用于判断待执行的代码片段中是否使用预定的编码方式,如果是,则判定待执行的代码片段中存在预定编码,所述预定的编码方式包括预定注解格式的编码方式和预定配置文件的编码方式;
或者,
查找模块,用于在接收用户的登录请求之前,根据预定的编码方式初始化查找存在预定编码的每一个代码片段;
第二判断模块,用于根据所述查找模块的查找结果判断待执行的代码片段中是否存在预定编码。
8.根据权利要求6所述的装置,其特征在于,还包括:
预先设置单元,用于在待设置预定编码的代码片段中根据预定的编码方式预先设置至少一个预定编码,并设定在所述代码片段的每一个预定编码处执行登录验证或授权验证的优先级顺序;其中,设定的在各预定编码处执行登录验证或授权验证的优先级顺序,用于指示在所述代码片段的各预定编码处按序执行登录验证或授权验证。
9.根据权利要求6-8任一项所述的装置,其特征在于,还包括:
获取及处理单元,用于在检测到所述用户登录验证成功后,获取所述用户的用户信息,并对获取到的所述用户信息进行数据处理;
存储单元,用于将数据处理后的所述用户信息存储至用户对象库中;
其中,所述用户对象库中存储数据处理后的各个用户的用户信息。
10.根据权利要求9所述的装置,其特征在于,所述第二调用及验证单元,包括:
获取模块,用于从所述用户对象库中获取所述用户的用户信息,并根据用户的业务需求,获取所述用户的待访问资源信息;
验证模块,用于根据已获取的所述用户的用户信息和所述用户的待访问资源信息,通过所述第二软件开发工具包对所述用户进行授权验证。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710571546.6A CN107508793A (zh) | 2017-07-13 | 2017-07-13 | 一种基于面向切面编程aop认证与授权的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710571546.6A CN107508793A (zh) | 2017-07-13 | 2017-07-13 | 一种基于面向切面编程aop认证与授权的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107508793A true CN107508793A (zh) | 2017-12-22 |
Family
ID=60679873
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710571546.6A Pending CN107508793A (zh) | 2017-07-13 | 2017-07-13 | 一种基于面向切面编程aop认证与授权的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107508793A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108469979A (zh) * | 2018-03-28 | 2018-08-31 | 深圳前海桔子信息技术有限公司 | 一种页面跳转方法、装置、服务器和存储介质 |
CN108650254A (zh) * | 2018-05-08 | 2018-10-12 | 上海你我贷互联网金融信息服务有限公司 | 一种用于多租户数据的加解密系统 |
CN111209318A (zh) * | 2020-01-02 | 2020-05-29 | 平安科技(深圳)有限公司 | 基于地理位置数据分析方法、装置、电子设备及存储介质 |
CN111382421A (zh) * | 2020-03-19 | 2020-07-07 | 深信服科技股份有限公司 | 一种业务访问控制方法、系统及电子设备和存储介质 |
CN112104716A (zh) * | 2020-09-01 | 2020-12-18 | 山东亚华电子股份有限公司 | 软件项目采集数据的方法、装置、可读存储介质及设备 |
CN113660211A (zh) * | 2021-07-22 | 2021-11-16 | 深圳竹云科技有限公司 | 认证安全策略执行方法、装置及计算设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102130894A (zh) * | 2010-01-12 | 2011-07-20 | 大唐移动通信设备有限公司 | 鉴权和认证方法及系统 |
CN103618762A (zh) * | 2013-11-08 | 2014-03-05 | 中标软件有限公司 | 一种基于aop的企业服务总线状态预处理系统及方法 |
WO2015168287A1 (en) * | 2014-04-29 | 2015-11-05 | Twitter, Inc. | Authentication mechanism |
US20160134599A1 (en) * | 2014-11-07 | 2016-05-12 | Brian G. Ross | Computer-implemented systems and methods of device based, internet-centric, authentication |
CN105739987A (zh) * | 2016-02-03 | 2016-07-06 | 成都四方伟业软件股份有限公司 | 面向SOA的快速构建JavaWeb应用的系统框架 |
CN106649061A (zh) * | 2015-11-04 | 2017-05-10 | 阿里巴巴集团控股有限公司 | 一种记录用户在web系统中的操作日志的方法与设备 |
CN106713367A (zh) * | 2017-03-02 | 2017-05-24 | 山东浪潮云服务信息科技有限公司 | 一种认证方法、认证平台、业务系统以及认证系统 |
-
2017
- 2017-07-13 CN CN201710571546.6A patent/CN107508793A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102130894A (zh) * | 2010-01-12 | 2011-07-20 | 大唐移动通信设备有限公司 | 鉴权和认证方法及系统 |
CN103618762A (zh) * | 2013-11-08 | 2014-03-05 | 中标软件有限公司 | 一种基于aop的企业服务总线状态预处理系统及方法 |
WO2015168287A1 (en) * | 2014-04-29 | 2015-11-05 | Twitter, Inc. | Authentication mechanism |
US20160134599A1 (en) * | 2014-11-07 | 2016-05-12 | Brian G. Ross | Computer-implemented systems and methods of device based, internet-centric, authentication |
CN106649061A (zh) * | 2015-11-04 | 2017-05-10 | 阿里巴巴集团控股有限公司 | 一种记录用户在web系统中的操作日志的方法与设备 |
CN105739987A (zh) * | 2016-02-03 | 2016-07-06 | 成都四方伟业软件股份有限公司 | 面向SOA的快速构建JavaWeb应用的系统框架 |
CN106713367A (zh) * | 2017-03-02 | 2017-05-24 | 山东浪潮云服务信息科技有限公司 | 一种认证方法、认证平台、业务系统以及认证系统 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108469979A (zh) * | 2018-03-28 | 2018-08-31 | 深圳前海桔子信息技术有限公司 | 一种页面跳转方法、装置、服务器和存储介质 |
CN108650254A (zh) * | 2018-05-08 | 2018-10-12 | 上海你我贷互联网金融信息服务有限公司 | 一种用于多租户数据的加解密系统 |
CN111209318A (zh) * | 2020-01-02 | 2020-05-29 | 平安科技(深圳)有限公司 | 基于地理位置数据分析方法、装置、电子设备及存储介质 |
CN111209318B (zh) * | 2020-01-02 | 2020-09-08 | 平安科技(深圳)有限公司 | 基于地理位置数据分析方法、装置、电子设备及存储介质 |
CN111382421A (zh) * | 2020-03-19 | 2020-07-07 | 深信服科技股份有限公司 | 一种业务访问控制方法、系统及电子设备和存储介质 |
CN111382421B (zh) * | 2020-03-19 | 2024-04-09 | 深信服科技股份有限公司 | 一种业务访问控制方法、系统及电子设备和存储介质 |
CN112104716A (zh) * | 2020-09-01 | 2020-12-18 | 山东亚华电子股份有限公司 | 软件项目采集数据的方法、装置、可读存储介质及设备 |
CN113660211A (zh) * | 2021-07-22 | 2021-11-16 | 深圳竹云科技有限公司 | 认证安全策略执行方法、装置及计算设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107508793A (zh) | 一种基于面向切面编程aop认证与授权的方法及装置 | |
AU2020215026B2 (en) | Using on-demand applications to generate virtual numbers for a contactless card to securely autofill forms | |
CN104113551B (zh) | 一种平台授权方法、平台服务端及应用客户端和系统 | |
CN105512881B (zh) | 一种基于二维码完成支付的方法及终端 | |
US11924247B1 (en) | Access control policy simulation and testing | |
CN105871838B (zh) | 一种第三方账号的登录控制方法及用户中心平台 | |
CN110414268A (zh) | 访问控制方法、装置、设备及存储介质 | |
JP6949064B2 (ja) | 認証及び承認方法並びに認証サーバー | |
CN105141614B (zh) | 一种移动存储设备的访问权限控制方法及装置 | |
CN106341234A (zh) | 一种授权方法及装置 | |
US20200257576A1 (en) | Verifying transfer of detected sensitive data | |
CN107484152B (zh) | 终端应用的管理方法及装置 | |
CN103561006B (zh) | 基于安卓系统的应用认证方法和装置及应用认证服务器 | |
CN109978551A (zh) | 一种基于区块链的账户信息确认及找回方法以及装置 | |
CN101901147B (zh) | 资源分发系统及方法 | |
CN109587142A (zh) | 一种面向业务流的数据安全接入模块和设备 | |
KR20160136000A (ko) | 대면확인 otp 애플리케이션 발급을 위한 시스템 및 방법 | |
CN104065674A (zh) | 终端设备以及信息处理方法 | |
CN103164324A (zh) | 微博测试方法和装置 | |
CN111143798A (zh) | 安全验证方法及装置 | |
CN107766717A (zh) | 一种访问控制方法、装置及系统 | |
CN104052602B (zh) | 用于单点登录的方法和装置 | |
US10951621B2 (en) | Leveraging a regulated network to enable device connectivity in a restricted zone | |
US10172001B1 (en) | Authentication mechanism | |
CN114500039B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171222 |
|
RJ01 | Rejection of invention patent application after publication |