微服务学习(第七篇)-服务网关zuul(三)

自定义路由


首先提出一个疑问:比如说前端访问的时候必须要带某个参数过来,

比如必须要带某个token过来的话,不管放到头里也好,或者参数里也好。

否则认为这个访问就是违法的。

1、在网关中的过滤器类型filterType中总共有四种类型:①、pre(前置过滤器),②、post(后置过滤器),③、route(路由过滤器),④、error(错误过滤器)

1.1、既然做的是token的验证,是放到前置过滤器中的,代码如下:在这里插入图片描述1.2、在源代码FilterConstants这个类中有这四种类型的路由。 数字越小,优先级就越高。优先级一定要放置在最后一个前置路由器之前就可以了。官方推荐不是PRE_DECORATION_FILTER_ORDER把这个值改为多些,而是在这个值上进行加减法,一般做减法就行了。在这里插入图片描述1.3、减一代表在这个路由器之前执行,代码如下:在这里插入图片描述1.4、第三个方法:是否允许路由,去监控它true,代表一定要监控得在这里插入图片描述1.5、第四个方法 run:核心方法,思路如下:

①、我们需要从参数里面去拿到这个token得值,如果传了,就是合法得正常得请求得地址。

②、如果没传,就是不合法的请求在这里插入图片描述1.6、CookieUtil的代码如下:在这里插入图片描述1.7、交给Spring容器去管理。在这里插入图片描述1.8、然后把配置中心config启动起来,和服务网关启动,不带token的去访问:前置过滤器的成功了:只要没有token的访问都属于不正常的访问。在这里插入图片描述1.9、如果想通过的话,加上cookie就可以了:在这里插入图片描述在这里插入图片描述2、还有后置路由器:比如当它有结果返回出来的时候,我想要在头里面加点头的信息。然后给它做返回,那么我们如何去写呢?

2.1、当请求处理完,当响应结果之前的过滤器就称之为后置过滤器。

比如在token验证以后将返回的结果的响应的头里面加点数据进去:比如加一个随机的token值给它返回出去或者UUID值。这个过滤器是在发送请求响应到响应头里的过滤器。

2.3、在源代码中,SEND_RESPONSE_FILTER_ORDER这个值是最大值,后置过滤器需要在它之前执行,所以减一。在这里插入图片描述在这里插入图片描述2.4、重启下user-api-gateway:这个POST得意思只是后置得过滤器,不管什么类型得请求,这个请求头得信息都是有X-UUID得,这个和POST请求是没有关系的。在这里插入图片描述

总结:在zuul中可以做很多的事情,特别在做鉴权上用的很多,权限校验,可以做一个token得判断,权限得校验也可以在zuul里面去写。


如果想要代码的话可以加qq群:797853299。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值