小D课堂 - 新版本微服务springcloud+Docker教程_6-04 自定义Zuul过滤器实现登录
笔记
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过滤器实现登录相关推荐
- 小D课堂 - 新版本微服务springcloud+Docker教程_汇总
小D课堂 - 新版本微服务springcloud+Docker教程_1_01课程简介 小D课堂 - 新版本微服务springcloud+Docker教程_1_02技术选型 小D课堂 - 新版本微服务s ...
- 容器化技术与微服务结合---docker(一)
目录 系列 微服务 docker场景 mac上docker安装 系统要求 安装 linux上docker安装 Docker的一些命令 springcloud结合docker部署 docker buil ...
- Java生鲜电商平台-深入理解微服务SpringCloud各个组件的关联与架构
Java生鲜电商平台-深入理解微服务SpringCloud各个组件的关联与架构 概述 毫无疑问,Spring Cloud是目前微服务架构领域的翘楚,无数的书籍博客都在讲解这个技术.不过大多数讲解还停留 ...
- docker的文件流处理_迁移到微服务与DevOps,微服务和Docker容器的全面实用指南
迁移到微服务与DevOps,改变软件开发效能! 一如既往,技术行业正处于巨大的转变之中,物联网.软件定义网络以及软件即服务(SaaS)仅为其中几例.由于这些创新,对能够改进应用开发和部署过程的平台和架 ...
- [转]微服务与Docker
在Docker上运行微服务 在过去的两年里,微服务架构已经成了非常热门的名词,它出现在很多论坛.视频.演讲中.作为一种更灵活.可靠.开放的架构,其应用实践也越来越多.近日,来自七牛云存储.DaoClo ...
- 基于阿里云容器服务的微服务实践 - Part 1. 微服务与Docker
基于阿里云容器服务的微服务实践 基于阿里云容器服务的微服务实践 - Part 1. 微服务与Docker 作者:chszs,未经博主允许不得转载.经许可的转载需注明作者和博客主页:http://blo ...
- docker入门,镜像,容器,数据卷,dockerfile,docker网络,springboot微服务打包docker镜像[狂神yyds]
docker学习大纲 docker概述 docker安装 docker命令 镜像命令 容器命令 操作命令 - docker镜像 容器数据卷 dockerfile docker网络原理 IDEA整合do ...
- Java微服务——SpringCloud实战篇2:整合Gateway、Config、Bus
Java微服务--SpringCloud实战篇2:整合Gateway.Config.Bus 如果小伙伴在阅读下列内容时,对于编写SpringCloud项目是零基础,那么请先阅读小编的另一篇博文:&qu ...
- 中间件和微服务,Docker以及原生云架构的关系
IT世界的技术更新非常迅速.一年前我曾写过一篇关于:微服务是否是企业服务总线和其他中间件的死亡魔法.本文章是之前文章的后续以及关于微服务.容器和原生云架构的中间件关系讨论的更新.各种规模的企业正在以令 ...
- re.containerbase.startinternal 子容器启动失败_微服务架构:基于微服务和Docker容器技术的PaaS云平台架构设计(微服务架构实施原理)...
走过路过不要错过 点击蓝字关注我们 基于微服务架构和Docker容器技术的PaaS云平台建设目标是给我们的开发人员提供一套服务快速开发.部署.运维管理.持续开发持续集成的流程.平台提供基础设施.中间件 ...
最新文章
- Go 分布式学习利器(6)-- Map
- Mysql在大型网站的应用架构演变
- arrays中copyof_为什么阿里巴巴开发手册明确说明 Arrays.asList() 不能使用其修改方法?...
- open-capacity-platform STS项目导入
- Kettle能做什么?
- 小度智能音箱维修点_小度智能音箱无法唤醒怎么办
- 深入Java中文问题及最优解决方法-下(转)
- iconv 判断字符编码_php下用iconv函数转换字符编码的问题
- C语言编程数出1到100的整数中出现了多少次数字9
- python清洗数据去除停用词_python去除停用词(结巴分词下)
- MES系统是什么——史上最全MES介绍
- 最优化理论与凸优化到底是干嘛的?
- 计算机SCV原理指什么,csv是什么文件格式?.csv文件怎么打开?
- Java短视频直播APP源码
- 在matlab使用矩阵的方法计算DFT
- 转载一篇让你全面了解什么是.NET。
- flask的pin码攻击——新版本下pin码的生成方式
- 开发常用的google插件
- 小书MybatisPlus第9篇-常用字段默认值自动填充
- Python len()方法
热门文章
- 孙鑫VC学习笔记:第十五讲 (一) 进程和线程基本概念
- 拓端tecdat:R语言贝叶斯广义线性混合效应(多层次/水平/嵌套)模型GLMM、逻辑回归分析教育留级影响因素数据
- 拓端tecdat|tableau的骑行路线地理数据可视化
- 初识循环神经网络(RNN)
- Linux复习-目录及其操作
- (8)数据结构-循环队列
- (7)数据结构-基本队列实现
- python绘制混淆矩阵
- 对‘cv::imread(cv::String const, int)’未定义的引用
- SLIC算法分割超像素原理及Python、C++