微服务网关gateway实现动态路由及动态鉴权(接口级别)

接上篇 微服务实现网关统一鉴权-接口级别
上篇初步完成了网关统一鉴权功能(redis或jwt实现),也正是因为加入了网关组件这次遇到了新的问题,
问题一
在这里插入图片描述
如图所示圈起来的是上篇写的gateway路由转发规则配置信息,如果我对这些信息有改动就要改代码重启网关服务,网关是统一入口经常重启不太合理。
所以解决这个问题需要增加动态路由功能,我初步设想增加nacos配置中心组件,把这些信息放nacos里监听nacos配置信息变化重新注册路由信息,集成nacos后发现直接把段配置信息放到nacos配置文件里就可以,估计是新版本增加了这部分功能,之前的话就要手动监听,注册路由,另外我使用的版本是:

        <spring-boot.version>2.6.3</spring-boot.version>
        <spring-cloud.version>2021.0.1</spring-cloud.version>
        <spring-cloud-alibaba.version>2021.0.1.0</spring-cloud-alibaba.version>

这个动态路由问题就这么不费事的解决了。。。。
问题二
在这里插入图片描述

如图上篇已经把接口鉴权功能放到了网关里面(filter实现),同样的如果我要放开一个接口不校验token,或者新增限制一个路由需要什么权限才能访问,这样又需要修改代码重新发一版网关服务了。
为了解决这个问题,我仔细了解了下gateway过滤器提供的功能,发现它提供了自定义参数功能,作用在你自定义的过滤器上,如第一张图片的ignoreUrls参数。
所以只需要把路径匹配规则和访问这个路径需要的权限码作为动态参数放在nacos上
在这里插入图片描述
再稍微修改下过滤器代码就可以了!
在这里插入图片描述
(有的把配置放到了数据库里,网关直连数据库,这种方法不合适,网关最好不要直连数据库)
完结。
代码仓库地址为(dev-redis分支):
https://gitee.com/china-zhz/cloud.git

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

china-zhz

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值