sentinel来源访问控制(黑白名单)

ops/2024/12/26 12:09:23/

很多时候,我们需要根据调用方来限制资源是否通过,这时候可以使用 Sentinel 的黑白名单控制的功能。黑白名单根据资源的请求来源(origin)限制资源是否通过,若配置白名单则只有请求来源位于白名单内时才可通过;若配置黑名单则请求来源位于黑名单时不通过,其余的请求通过。

调用方信息通过 ContextUtil.enter(resourceName, origin) 方法中的 origin 参数传入。

规则配置

黑白名单规则(AuthorityRule)非常简单,主要有以下配置项:

  • resource:资源名,即限流规则的作用对象
  • limitApp:对应的黑名单/白名单,不同 origin 用 , 分隔,如 appA,appB
  • strategy:限制模式,AUTHORITY_WHITE 为白名单模式,AUTHORITY_BLACK 为黑名单模式,默认为白名单模式

示例

比如我们希望控制对资源 test 的访问设置白名单,只有来源为 appA 和 appB 的请求才可通过,则可以配置如下白名单规则:

AuthorityRule rule = new AuthorityRule();
rule.setResource("test");
rule.setStrategy(RuleConstant.AUTHORITY_WHITE);
rule.setLimitApp("appA,appB");
AuthorityRuleManager.loadRules(Collections.singletonList(rule));

 


http://www.ppmy.cn/ops/145121.html

相关文章

Proteus仿真——《基于51单片机的水塔水位控制系统》

原理 本课题设计基于单片机的水塔水位控制系统,以AT89C51单片机为核心处理器设计单片机最小系统,外加数码管显示模块、液位传感器、AD转换电路、继电器电路与水泵、独立按键模块。系统的结构图如下: 系统实现原理 AT89C51单片机具有32个可编程…

用例图和活动图的区别与联系

在软件开发过程中,需求分析是至关重要的一步。为了更好地理解和描述系统的功能需求,开发人员通常会使用各种图形化工具。其中,用例图和活动图是两种非常常用的工具。虽然它们都用于描述系统的行为,但各自具有不同的特点和适用场景…

设计模式の中介者发布订阅备忘录模式

文章目录 前言一、中介者模式二、发布订阅模式三、备忘录模式 前言 本篇是关于设计模式中介者模式、观察者(发布-订阅)模式、以及备忘录模式的学习笔记。 一、中介者模式 中介者模式是一种行为型设计模式,其核心目的是为了减少对象之间的复杂…

ubuntu安装sublime安装与免费使用

1. ubuntu安装sublime 参考官网: Linux Package Manager Repositories 2. 破解过程 打开如下网址,打开/opt/sublime_text/sublime_text https://hexed.it/ 3. 替换在hexed打开的文件中查找并替换: 4180激活方法 使用二进制编辑器 8079 0500 0f94 c2替换为 c641 05…

十二、e2studio VS STM32CubeIDE之栈回溯cmbacktrace

目录 一、概述/目的 二、注意或限制 三、stm32u575 cmbacktrace 四、瑞萨ra6m4 cmbacktrace 五、总结 一、概述/目的 我们分享过十四、从0开始卷出一个新项目之瑞萨RZN2L之栈回溯 我们继续分享通用mcu cm33内核stm32u575和瑞萨ra6m4的栈回溯cmbacktrace的例程源码 为了快…

金仓数据库安装-Kingbase v9-centos

在很多年前有个项目用的金仓数据库,上线稳定后就没在这个项目了,只有公司的开发环境还在维护,已经好多年没有安装过了,重温一下金仓数据库安装,体验一下最新版本,也做一个新版本的试验环境; 一、…

echarts5.0以上版本不能使用4.x的map,解决办法

先把echarts 4版本的map文件夹放到项目中 然后在项目中使用 import china from “/utils/map/json/china.json”; import “/utils/map/js/china”; 我是放到utils下面了 在组件中使用的时候加上一行代码就可以了 echarts.registerMap(china, china);

Android笔记:解决fragment+viewpager第二次进入的时候没有数据的问题

在使用ViewPager结合Fragment时,如果第二次无法显示,可能是因为FragmentManager没有正确处理Fragment的状态,或者ViewPager的适配器没有正确处理Fragment的生命周期。 解决方法: 确保你的FragmentPagerAdapter或FragmentStatePa…