本发明涉及信息安全,尤其涉及一种接口权限鉴权方法。
背景技术:
1、随着信息技术的发展,云计算已经逐步成为了业界的发展热点,逐渐被应用到教育、科学、文化、高性能计算、电子商务、物联网等多个领域。随着云平台系统中的各功能模块日益复杂,业务也越来越复杂,系统也随之进行各种拆分,特别是随着微服务架构和容器技术的兴起,看似简单的一个应用,后台可能有几十个甚至几百个服务在支撑,一个前端的请求可能需要多次的服务调用最后才能完成,而出于系统安全的考虑,每个系统都会设计有权限,具有权限才能对相应的服务进行访问。
2、目前的方案中,需要针对各个用户,逐个配置权限点,之后通过授权才能访问。导致在云平台系统中,对于用户的权限管理非常低效,且也容易出错。例如一个前端的业务请求需要10次服务调用,则工作人员需要找到这10次服务调用,进而为每一个具有权限的用户逐个配置权限点,对于这10次服务调用中的任意一个调用节点,出现漏写或者错写都会导致用户无法实现该业务请求。另有些方案对接口的权限是在代码层面进行编码的,如要对某一个功能进行权限调整,需要对原代码进行全面更改并重新升级发布,不能灵活的配置或更改权限。
3、综上,现有的鉴权方法不便于鉴权,且鉴权效率低下。
技术实现思路
1、本发明提供一种接口权限鉴权方法,用以解决上述现有技术中的缺陷,实现灵活的权限配置,提高鉴权效率。
2、本发明提供一种接口权限鉴权方法,包括:
3、获取接口的访问请求,获取发起访问请求的用户身份信息;
4、对所述用户身份信息进行验证,若通过验证则获取当前接口绑定的权限需求集合;
5、判断所述权限需求信息是否为空集,若所述权限需求信息不为空,则查询当前用户被赋予的权限集合;
6、遍历对应接口的所述权限需求集合,判断所述权限需求信息与当前用户的所述权限集合是否存在重合;
7、若所述权限集合中至少有一个权限与所述权限需求集合中的权限重合,则所述访问请求通过鉴权;否则所述访问请求不通过鉴权。
8、根据本发明提供的一种接口权限鉴权方法,对所述用户身份信息进行验证,若所述用户身份信息通过验证,则以当前用户身份信息进行登录;
9、若所述用户身份信息不通过验证,则获取接口配置信息,若所述接口配置信息中不要求登录,则所述访问请求通过鉴权;若所述接口配置信息中要求登录,则输出未登录的提示信息。
10、根据本发明提供的一种接口权限鉴权方法,先从缓存获取所述接口配置信息和/或所述权限需求集合,若未获取到所述接口配置信息,则从数据库中查询所述接口配置信息和/或所述权限需求集合,在获取所述接口配置信息和/或所述权限需求集合后,将所述接口配置信息和/或所述权限需求集合存储至缓存中。
11、根据本发明提供的一种接口权限鉴权方法,若所述权限需求信息为空,则该接口未配置权限,所述访问请求通过鉴权。
12、根据本发明提供的一种接口权限鉴权方法,当前用户被赋予的所述权限集合为bitset数据结构。
13、根据本发明提供的一种接口权限鉴权方法,在进行鉴权之前对接口的信息进行初始化包括:
14、从应用程序的使用记录信息中,获取所述应用程序中每个接口的接口请求条件和接口实现方法的映射关系;
15、对所述映射关系进行过滤,保留具有接口注解信息的接口;
16、对所述注解信息进行解析,获取接口的属性信息;
17、将所述接口的属性信息更新至数据库中;
18、所述属性信息包括接口配置信息和所述权限需求集合。
19、根据本发明提供的一种接口权限鉴权方法,在对接口的信息进行初始化后,设置接口配置信息中,要求登录用户身份信息。
20、本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述接口权限鉴权方法的步骤。
21、本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述接口权限鉴权方法的步骤。
22、本发明提供的一种接口权限鉴权方法,至少具有如下的技术效果:
23、(1)通过获取用户的身份信息,能够更好更快的确认用户所拥有的权限,通过直接对比单个接口的权限需求,能够快速准确的确定用户是否符合需要的权限要求,可以细粒度的针对个人用户、也可以针对某个岗位或者组织授权,只要用户的身份信息中具有对应的权限,可以实现权限的灵活配置,权限限制粒度小;
24、(2)接口的权限配置和用户的权限匹配是分开的,只需要根据接口配置的信息确认接口需要的权限,再将接口信息中的权限信息更新至数据库中,可以实现在线灵活配置、更改权限,无需更改代码,具有更强的灵活性。
1.一种接口权限鉴权方法,其特征在于,包括:
2.根据权利要求1所述的一种接口权限鉴权方法,其特征在于,对所述用户身份信息进行验证,若所述用户身份信息通过验证,则以当前用户身份信息进行登录;
3.根据权利要求2所述的一种接口权限鉴权方法,其特征在于,先从缓存获取所述接口配置信息和/或所述权限需求集合,若未获取到所述接口配置信息,则从数据库中查询所述接口配置信息和/或所述权限需求集合,在获取所述接口配置信息和/或所述权限需求集合后,将所述接口配置信息和/或所述权限需求集合存储至缓存中。
4.根据权利要求1所述的所述的一种接口权限鉴权方法,其特征在于,若所述权限需求信息为空,则该接口未配置权限,所述访问请求通过鉴权。
5.根据权利要求1所述的一种接口权限鉴权方法,其特征在于,当前用户被赋予的所述权限集合为bitset数据结构。
6.根据权利要求1所述的一种接口权限鉴权方法,其特征在于,在进行鉴权之前对接口的信息进行初始化包括:
7.根据权利要求6所述的一种接口权限鉴权方法,其特征在于,在对接口的信息进行初始化后,设置接口配置信息中,要求登录用户身份信息。
8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述接口权限鉴权方法的步骤。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述接口权限鉴权方法的步骤。