利用JWT进行Web接口访问控制的方法技术

技术编号:32826608 阅读:12 留言:0更新日期:2022-03-26 20:30
本发明专利技术提供一种利用JWT进行Web接口访问控制的方法,包括如下步骤:S1:将接口URL的endpoint名称和接口请求方法连接组成接口权限标识;S2:将接口权限分配给用户;S3:用户登录认证通过后,将权限标识存入JWT中返回给用户,用户在后续的接口请求中携带JWT;S4:设置接口请求拦截器,判断接口的endpoint名称和请求方法组成的标识是否在JWT中,如果在则放行请求,如果不在则拒绝请求。该方法减少了接口权限标识硬编码,权限标识来自于接口URL的endpoint名称和接口方法,省去了常见方法中需要额外进行权限标识是否重复的工作;同时接口请求拦截器不用在显式传入权限标识,省去一定的代码量;如果权限标识需要变动,也只需要更改接口endpoint名称即可,使维护变得更容易。使维护变得更容易。使维护变得更容易。

【技术实现步骤摘要】
利用JWT进行Web接口访问控制的方法


[0001]本专利技术具体涉及一种利用JWT进行Web接口访问控制的方法。

技术介绍

[0002]常见的使用JWT进行Web接口访问控制方法是定义一个接口权限标识并将标识与接口进行绑定,然后再将接口权限标识作为权限分配给用户,在用户通过登录认证通过后,将权限标识存入JWT中,然后再在接口中通过权限标识是否存在于JWT中,进而达到进行接口访问控制的目的。
[0003]该类方法存在一定的弊端,主要体现在:1、与接口绑定的权限标识需要硬编码实现,这种硬编码的规则如果设计得不好,往往会让人难以理解,其次还要做额外的工作来保证硬编码标识不会重复;2、在设计接口拦截器时,需要将权限标识通过参数形式显示传入拦截器,才能进行访问控制判断;3、在后期维护中相对比较麻烦,例如某个权限标识“xxx”需要改成“xxxx”,则在定义标识的位置需要修改,接口拦截器传参的地方也要修改,在其它有引用的地方也需要修改。

技术实现思路

[0004]本专利技术的目的在于针对现有技术的不足,提供一种利用JWT进行Web接口访问控制的方法,该利用JWT进行Web接口访问控制的方法可以很好地解决上述问题。
[0005]为达到上述要求,本专利技术采取的技术方案是:提供一种利用JWT进行Web接口访问控制的方法,该利用JWT进行Web接口访问控制的方法包括如下步骤:
[0006]S1:将接口URL的endpoint名称和接口请求方法连接组成接口权限标识;
[0007]S2:将接口权限分配给用户;
[0008]S3:用户登录认证通过后,将权限标识存入JWT中返回给用户,用户在后续的接口请求中携带JWT;
[0009]S4:设置接口请求拦截器,判断接口的endpoint名称和请求方法组成的标识是否在JWT中,如果在则放行请求,如果不在则拒绝请求。
[0010]该利用JWT进行Web接口访问控制的方法具有的优点如下:
[0011]减少了接口权限标识硬编码,权限标识来自于接口URL的endpoint名称和接口方法,理论上在定义接口URL endpoint名称的时候会自动判断是否重复,省去了常见方法中需要额外进行权限标识是否重复的工作;同时接口请求拦截器不用在显式传入权限标识,省去一定的代码量;如果权限标识需要变动,也只需要更改接口endpoint名称即可,使维护变得更容易。
附图说明
[0012]此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,在这些附图中使用相同的参考标号来表示相同或相似的部分,本申请的示意性实施例及其说明
用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0013]图1示意性地示出了根据本申请一个实施例的利用JWT进行Web接口访问控制的方法的流程示意图。
具体实施方式
[0014]为使本申请的目的、技术方案和优点更加清楚,以下结合附图及具体实施例,对本申请作进一步地详细说明。
[0015]在以下描述中,对“一个实施例”、“实施例”、“一个示例”、“示例”等等的引用表明如此描述的实施例或示例可以包括特定特征、结构、特性、性质、元素或限度,但并非每个实施例或示例都必然包括特定特征、结构、特性、性质、元素或限度。另外,重复使用短语“根据本申请的一个实施例”虽然有可能是指代相同实施例,但并非必然指代相同的实施例。
[0016]为简单起见,以下描述中省略了本领域技术人员公知的某些技术特征。
[0017]根据本申请的一个实施例,提供一种利用JWT进行Web接口访问控制的方法,如图1所示,包括如下步骤:
[0018]S1:将接口URL的endpoint名称和接口请求方法连接组成接口权限标识;
[0019]S2:将接口权限分配给用户;
[0020]S3:用户登录认证通过后,将权限标识存入JWT中返回给用户,用户在后续的接口请求中携带JWT;
[0021]S4:设置接口请求拦截器,判断接口的endpoint名称和请求方法组成的标识是否在JWT中,如果在则放行请求,如果不在则拒绝请求。
[0022]根据本申请的一个实施例,本方法解决了现有方法的弊端,提供一种使用接口endpoint名称与接口请求方法组合来作为接口访问控制标识的方法,解决了现有方法中硬编码标识可读性差、接口拦截器需要显式传入权限标识、后期维护比较繁琐且在权限标识定义过程中需要额外判断标识是否重复的问题。
[0023]以上所述实施例仅表示本专利技术的几种实施方式,其描述较为具体和详细,但并不能理解为对本专利技术范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本专利技术构思的前提下,还可以做出若干变形和改进,这些都属于本专利技术保护范围。因此本专利技术的保护范围应该以所述权利要求为准。
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种利用JWT进行Web接口访问控制的方法,其特征在于,包括如下步骤:S1:将接口URL的endpoint名称和接口请求方法连接组成接口权限标识;S2:将接口权限分配给用户;S3:用户登录认证通过后,将权...

【专利技术属性】
技术研发人员:李劲雄柯贤祥何志鹏范松王冠华
申请(专利权)人:成都安美勤信息技术股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1