ASP.NET Core 使用UrlFirewall对请求进行过滤

一. 前言

是一个开源、轻便的对http请求进行过滤的中间件,可使用在webapi或者网关(比如Ocelot),由我本人编写,并且开源在github:https://github.com/stulzq/UrlFirewall 欢迎star.

二.UrlFirewall 介绍

UrlFirewall 是一款http请求过滤中间件,可以和网关(Ocelot)搭配,实现屏蔽外网访问内部接口,只让内部接口之间相互通讯,而不暴露到外部。它支持黑名单模式和白名单模式,支持自定义http请求响应代码。具有良好的扩展性,可自己实现验证逻辑,从数据库或者Redis缓存等介质实现对规则的检索。

三.使用

1.从Nuget添加组件到你的ASP.NET Core项目

2.配置DI

3.配置中间件

UrlFirewall中间件的位置必须放在第一个

4.配置规则

根据步骤2,使用的Section名称··我们在appsettings.json/appsettings.Devolopment.json文件中添加以下配置;

Url 字段表示要拦截的http请求url,支持通配符和,表示匹配任意个数任意字符,表示匹配一个任意字符。表示http请求方法,代表所有,还有。

四.扩展

如果你想要实现自己的验证逻辑,或者从数据库、Redis缓存等介质查询、获取数据来进行验证;你可以实现接口,然后调用方法替换默认实现即可。

示例:

五.地址

源码和Demo:https://github.com/stulzq/UrlFirewall

原文地址: https://www.cnblogs.com/stulzq/p/8987632.html

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180505B06KFS00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券