apache过滤恶意频繁访问_采用网关过滤器实现权限验证及对异常统一处理

采用网关过滤器实现权限验证

1、创建 zuul 项目

8618e040db919143b836e0336e07c5aa.png

2、修改 pom.xml 文件

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.sxt</groupId><artifactId>zuul-geteway-example</artifactId><version>0.0.1-SNAPSHOT</version><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.13.RELEASE</version><relativePath /> <!-- lookup parent from repository --></parent><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version></properties><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>Dalston.SR5</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-eureka</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-zuul</artifactId></dependency></dependencies>
</project>

3、修改全局配置文件

a91dd9e08e539531a387eb89268b45a5.png

4、创建过滤器类

@Component
public class LogFilter extends ZuulFilter{private static final Logger logger = LoggerFactory.getLogger(LogFilter.class);/*** 过滤内容:在 run 方法编写过滤逻辑*/@Overridepublic Object run() {//获取请求上下文RequestContext rc = RequestContext.getCurrentContext();HttpServletRequest request = rc.getRequest();//获取表单 tokenString token = request.getParameter("token");if(token == null){logger.warn("token is null............"); rc.setSendZuulResponse(false);//代表请求结束。不在继 续向下请求 rc.setResponseStatusCode(401);//设置状态码rc.setResponseBody("{"result":"token is null"}");//响应内容rc.getResponse().setContentType("text/html;charset=utf-8");//响应类型}logger.info("token not null");return null;}/*** 是否开启过滤器:默认为 false 不开启*/@Overridepublic boolean shouldFilter() {return true;}/***  过滤器的执行顺序:通过整数表示顺序,数值越小,优先级越高 */@Overridepublic int filterOrder() {return 0;}/*** 过滤器类型:通过过滤器类型决定了过滤器执行的时间 */@Overridepublic String filterType() {return "pre";}
}

5、添加启动类

@SpringBootApplication
@EnableZuulProxy	//开启网关
public class ZuulApplication {public static void main(String[] args) {SpringApplication.run(ZuulApplication.class, args);}
}

测试:

未附带 token

0213c7b47c30c1e67bc2f8b0832abf8b.png

附带 token

2c9fbc3d90378e6436b023d8e17c3971.png

采用网关过滤器对系统异常同一处理

当访问一个错误页面的时候,按照Zull请求的生命周期顺序进行依次访问。

同类型中,按照 FilterOrder 来决定执行器的优先级。接下来的就是按照生命周期顺序来决定。

cdc437d70f231fe3e9630fc3df2c1929.png

采用网关过滤器对系统异常同一处理

创建类去实现 ErrorController ,重写未实现的方法。

e82929f9edb2f6612971764a383d9e85.png

当访问错误页面的时候,结果如下图

8e5dc70bc0662be080279edeb48e8873.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/512425.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何攻破容器持久化存储挑战?

背景 云原生趋势下&#xff0c;应用容器化比例正在快速增长&#xff0c;Kubernetes 也已成为云原生时代新的基础设施。 观察今天的容器和 Kubernetes 的应用现状&#xff0c;可以看到两个普遍的现象&#xff1a; 首先&#xff0c;在云上托管 Kubernetes 已经成为企业上云及运…

用科技共创美好:英特尔助力北京冬奥会新体验

2022年1月24日&#xff0c;北京2022年冬奥会在即&#xff0c;北京冬奥会的气氛愈发浓烈。作为奥运会全球TOP合作伙伴&#xff0c;英特尔以基于英特尔处理器的创新技术支持奥运会&#xff0c;释放科技冬奥的魅力。今天&#xff0c;英特尔在位于前门建成的全新升级的“英特尔北京…

职称计算机Word2003是考什么,2017年职称计算机考试word2003考点

2017年职称计算机考试word2003考点计算机在我们的工作中太重要了&#xff0c;很多工作岗位对计算机都有一定的要求。以下是小编整理的2017年职称计算机考试word2003考点&#xff0c;希望可以为您的学习带来帮助!内置段落样式1、套用段落样式&#xff1a;选中要套用样式的一个或…

李飞飞:新技术变革时代的数据库产业

简介&#xff1a; 云计算将改变数据库格局 近日&#xff0c;阿里云智能数据库事业部负责人李飞飞在媒体沟通会上发表了“新技术变革时代的数据库产业”主题演讲。 李飞飞说&#xff0c;云数据库已经成为数据库最重要的发展方向&#xff0c;从国际国内数据库产业的发展来看&am…

iostat命令详解_对iostat输出结果的理解

前言&#xff1a;日常工作中&#xff0c;线上服务会出现各种奇奇怪怪的问题&#xff0c;每次出现问题都是根据现象猜测出现问题的原因&#xff0c;比如请求响应慢了&#xff0c;就排查整个请求的逻辑&#xff0c;每一步花了多少时间&#xff0c;分析半天终于发现是某一步慢了以…

计算机windows10属性配置,电脑显示属性设置,教你win10系统电脑显示属性的设置教程...

今天小编教你win10系统电脑显示属性的设置教程&#xff0c;显卡作为计算机最为基本的配置和最重要的配件之一&#xff0c;承担着输出显示图形的任务。不知电脑显卡设置在哪里打开及如何设置的用户&#xff0c;请来看看下面的介绍吧。显卡是一台电脑的第二个核心&#xff0c;我们…

庖丁解牛-图解MySQL 8.0优化器查询解析篇

简介&#xff1a; SQL优化器本质上是一种高度抽象化的数据接口的实现&#xff0c;经过该设计&#xff0c;客户可以使用更通用且易于理解的SQL语言&#xff0c;对数据进行操作和处理&#xff0c;而不需要关注和抽象自己的数据接口&#xff0c;极大地解放了客户的应用程序。 作者…

历时 4 年,阿里云推出金融核心系统转型实践书

在过去 40 年中&#xff0c;基本由国外技术支撑着我国金融行业核心系统的建设。随着近十年来&#xff0c;中国互联网飞速发展&#xff0c;在数字金融领域&#xff0c;中国正发生巨变&#xff0c;如手机支付、纳税平台应用、风控系统等业务的普及&#xff0c;以往国外的实践经验…

三款典型国产分布式数据库的对比评测

简介&#xff1a; 编者按&#xff1a;近几年国产数据库市场风生水起&#xff0c;涌现了多款优秀的国产数据库产品&#xff0c;本文选取了三款典型的国产分布式数据库进行全方位对比压测&#xff0c;呈现了国产分布式数据库的发展现状。 对于所有的应用系统&#xff0c;数据都是…

bootstraptable中responsehandle获取数据缺失_Python中的向量化字符串操作

Python的一个使用优势是它在处理和操作字符串数据方面相对容易。在此基础上Pandas提供了一套全面的向量化字符串操作(vectorized string operation)&#xff0c;这些操作成为处理现实世界数据时所需的必不可少的功能。在本文中&#xff0c;我们将介绍一些Pandas的字符串操作&am…

计算机二级的编程题,计算机二级编程题(范文).doc

第 PAGE \* Arabic 1 页计算机二级编程题(范文)整数排序题☆题目1(整数排序题)在文件in.dat中有200个正整数&#xff0c;且每个数均在1000至9999之间。函数ReadDat()读取这200个数存放到数组aa中。请编制函数jsSort()&#xff0c;其函数的功能是&#xff1a;要求按每个数的后三…

15 载专注视频增强技术,小而美的 Imint 蕴藏大匠心

如今视频已深深融入我们的生活和工作中&#xff0c;据 CNNIC 数据显示&#xff0c;截止 2021 年 6 月&#xff0c;我国网民的规模达 10.11 亿&#xff0c;其中短视频用户规模 8.88 亿&#xff0c;占网民整体的 87.8%。 这表明我们正步入“视频社会化”时代&#xff0c;随着人们…

vue 组件属性监听_详解vuex 中的 state 在组件中如何监听

前言不知道大家有没有遇到过这样一种情况&#xff1f; vuex中的state会在某一个组建中使用&#xff0c;而这个状态的初始化是通过异步加载完成的。组件在渲染过程中&#xff0c;获取的state状态为空。也就是说组件在异步完成之前就已经完成渲染了&#xff0c;导致组件的数据没有…

Serverless Devs 2.0 全新发布,让 Serverless 应用开发更简单

简介&#xff1a; 2020 年 10 月 23日&#xff0c;阿里巴巴正式宣布开源其首个 Serverless 开发者平台 Serverless Devs。历经近一年精心打磨&#xff0c;今天 Serverless Devs 2.0 正式版全新发布。Serverless Devs 2.0 在平台能力、应用模板以及开发者套件方面能力提升&#…

计算机图形学有序边表作业,《计算机图形学》有序边表填充算法.docx

实验报告实验目的1、掌握有序边表算法填充多边形区域;2、理解多边形填充算法的意义&#xff1b;3、增强C语言编程能力。算法原理介绍根据多边形内部点的连续性知&#xff1a;一条扫描线与多边形的交点中&#xff0c;入点和出点之间所 有点都是多边形的内部点。所以&#xff0c;…

疫情防控“漫入调查系统”上线 SENSORO 助力提升筛查效率及精准度

连日来&#xff0c;国内多地报告新增病例&#xff0c;加上因春节临近导致的人员流动和聚集增加&#xff0c;基层防疫面临着比平时更大的挑战。为快速、高效地解决大规模漫入信息筛查任务&#xff0c;缓解一线疫情防控压力&#xff0c;SENSORO&#xff08;北京升哲科技有限公司&…

程序媛如何自我突破?

简介&#xff1a; 很多时候人们是被自己内心的偏见所打败的。作为一名程序媛&#xff0c;保持一种对世界、对人生的不同看法&#xff0c;可以帮助我们树立自己的参照系&#xff0c;不被外部轻易左右。或许我们无法像一些伟人那样打破、推动如此重大的社会认知&#xff0c;但是我…

r包调用legend函数_R语言实现基于朴素贝叶斯构造分类模型数据可视化

本文内容原创&#xff0c;未经作者许可禁止转载&#xff01;目录一、前言 二、摘要 三、关键词 四、算法原理 五、经典应用 六、R建模 1、载入相关包(内含彩蛋)&#xff1a; 1.1 library包载入 1.2 pacman包载入(彩蛋) 2、读入数据&#xff1a; 3、可视化&#xff1a; 一、前言…

如何基于Dataphin实现敏感数据保护

简介&#xff1a; 在企业的发展过程中&#xff0c;如果不重视敏感数据的保护&#xff0c;和数据安全体系的建设&#xff0c;那么一旦发生了敏感数据泄漏事件&#xff0c;轻则企业口碑受损&#xff0c;业务受影响&#xff1b;重则会直接触法律&#xff0c;受到主管部门的处罚和制…

百度研究院发布2022科技趋势预测:大模型实用化、AI助力深空探测成热门

1月25日&#xff0c;百度研究院发布2022年科技趋势预测&#xff0c;这是其连续第三年发布对前沿科技趋势的展望。 今年上榜的科技趋势预测涵盖了AI核心技术、交叉学科与跨领域研究&#xff0c;以及AI的产业及社会价值三个层面&#xff0c;包括预训练大模型、AI for Science&am…