笔记

4、自定义Zuul过滤器实现登录鉴权实战
    简介:自定义Zuul过滤器实现登录鉴权实战

1、新建一个filter包

2、新建一个类,实现ZuulFilter,重写里面的方法

3、在类顶部加注解,@Component,让Spring扫描

开始

比如下单接口,用户一定要登陆。要传一个token过来判断是否登陆,再去访问对应的接口

登陆的过滤器肯定在整个流程肯定里面最先处理。这里的pre Filters这里最先进行拦截。如果没登陆返回一个403。如果已经登陆,继续访问请求的接口

只需要对需要登陆的接口做限制和过滤即可。
新建Filter.在zuul的项目里。
先建个filter的包

自定义LoginFilter

首先需要继承ZuulFilter,

然后实现里面的方法



给这个类加上@Component注解让spring去扫描这个类

FilterType是过滤器的类型,登陆需要的是前置过滤器


所以设置为PRE_TYPE

order越小越先执行。

order设置为4

设置为true使这个过滤器生效

在这里我们获取到context对象,输出url地址。先测试一下

重启应用。访问测试。输出了URI和url

把常量放在前面,因为常量不可能为空。request.getRequestURI可能为空


这里改成/order/save


什么都没有打印

访问下单接口


访问product接口

没有被拦截

拦截到的操作


Unauthorized是401未授权

可以去搜索下jwt springboot的应用

重启应用测试,请求的时候一定要带token过来。

这里是不带token的测试

到断点这里。token是null值


最终返回null

页面返回了401状态码

在参数后面加上token的值

token可以获取到不为空了。

放行,最终把数据返回来了

把token放在header里面


最终放行

最终返回数据。

以上就是在网关里面做 用户登陆的鉴权

回顾

匹配的地址可以放在一个本地的缓存里面。

大项目用ACL的方式去做。小项目直接在代码里面写if else判断。多判断几个地址

然后我们就在zuulException里面定义校验逻辑

转载于:https://www.cnblogs.com/wangjunwei/p/11455702.html

小D课堂 - 新版本微服务springcloud+Docker教程_6-04 自定义Zuul过滤器实现登录相关推荐

  1. 小D课堂 - 新版本微服务springcloud+Docker教程_汇总

    小D课堂 - 新版本微服务springcloud+Docker教程_1_01课程简介 小D课堂 - 新版本微服务springcloud+Docker教程_1_02技术选型 小D课堂 - 新版本微服务s ...

  2. 容器化技术与微服务结合---docker(一)

    目录 系列 微服务 docker场景 mac上docker安装 系统要求 安装 linux上docker安装 Docker的一些命令 springcloud结合docker部署 docker buil ...

  3. Java生鲜电商平台-深入理解微服务SpringCloud各个组件的关联与架构

    Java生鲜电商平台-深入理解微服务SpringCloud各个组件的关联与架构 概述 毫无疑问,Spring Cloud是目前微服务架构领域的翘楚,无数的书籍博客都在讲解这个技术.不过大多数讲解还停留 ...

  4. docker的文件流处理_迁移到微服务与DevOps,微服务和Docker容器的全面实用指南

    迁移到微服务与DevOps,改变软件开发效能! 一如既往,技术行业正处于巨大的转变之中,物联网.软件定义网络以及软件即服务(SaaS)仅为其中几例.由于这些创新,对能够改进应用开发和部署过程的平台和架 ...

  5. [转]微服务与Docker

    在Docker上运行微服务 在过去的两年里,微服务架构已经成了非常热门的名词,它出现在很多论坛.视频.演讲中.作为一种更灵活.可靠.开放的架构,其应用实践也越来越多.近日,来自七牛云存储.DaoClo ...

  6. 基于阿里云容器服务的微服务实践 - Part 1. 微服务与Docker

    基于阿里云容器服务的微服务实践 基于阿里云容器服务的微服务实践 - Part 1. 微服务与Docker 作者:chszs,未经博主允许不得转载.经许可的转载需注明作者和博客主页:http://blo ...

  7. docker入门,镜像,容器,数据卷,dockerfile,docker网络,springboot微服务打包docker镜像[狂神yyds]

    docker学习大纲 docker概述 docker安装 docker命令 镜像命令 容器命令 操作命令 - docker镜像 容器数据卷 dockerfile docker网络原理 IDEA整合do ...

  8. Java微服务——SpringCloud实战篇2:整合Gateway、Config、Bus

    Java微服务--SpringCloud实战篇2:整合Gateway.Config.Bus 如果小伙伴在阅读下列内容时,对于编写SpringCloud项目是零基础,那么请先阅读小编的另一篇博文:&qu ...

  9. 中间件和微服务,Docker以及原生云架构的关系

    IT世界的技术更新非常迅速.一年前我曾写过一篇关于:微服务是否是企业服务总线和其他中间件的死亡魔法.本文章是之前文章的后续以及关于微服务.容器和原生云架构的中间件关系讨论的更新.各种规模的企业正在以令 ...

  10. re.containerbase.startinternal 子容器启动失败_微服务架构:基于微服务和Docker容器技术的PaaS云平台架构设计(微服务架构实施原理)...

    走过路过不要错过 点击蓝字关注我们 基于微服务架构和Docker容器技术的PaaS云平台建设目标是给我们的开发人员提供一套服务快速开发.部署.运维管理.持续开发持续集成的流程.平台提供基础设施.中间件 ...

最新文章

  1. Go 分布式学习利器(6)-- Map
  2. Mysql在大型网站的应用架构演变
  3. arrays中copyof_为什么阿里巴巴开发手册明确说明 Arrays.asList() 不能使用其修改方法?...
  4. open-capacity-platform STS项目导入
  5. Kettle能做什么?
  6. 小度智能音箱维修点_小度智能音箱无法唤醒怎么办
  7. 深入Java中文问题及最优解决方法-下(转)
  8. iconv 判断字符编码_php下用iconv函数转换字符编码的问题
  9. C语言编程数出1到100的整数中出现了多少次数字9
  10. python清洗数据去除停用词_python去除停用词(结巴分词下)
  11. MES系统是什么——史上最全MES介绍
  12. 最优化理论与凸优化到底是干嘛的?
  13. 计算机SCV原理指什么,csv是什么文件格式?.csv文件怎么打开?
  14. Java短视频直播APP源码
  15. 在matlab使用矩阵的方法计算DFT
  16. 转载一篇让你全面了解什么是.NET。
  17. flask的pin码攻击——新版本下pin码的生成方式
  18. 开发常用的google插件
  19. 小书MybatisPlus第9篇-常用字段默认值自动填充
  20. Python len()方法

热门文章

  1. 孙鑫VC学习笔记:第十五讲 (一) 进程和线程基本概念
  2. 拓端tecdat:R语言贝叶斯广义线性混合效应(多层次/水平/嵌套)模型GLMM、逻辑回归分析教育留级影响因素数据
  3. 拓端tecdat|tableau的骑行路线地理数据可视化
  4. 初识循环神经网络(RNN)
  5. Linux复习-目录及其操作
  6. (8)数据结构-循环队列
  7. (7)数据结构-基本队列实现
  8. python绘制混淆矩阵
  9. 对‘cv::imread(cv::String const, int)’未定义的引用
  10. SLIC算法分割超像素原理及Python、C++