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

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

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

规则配置

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

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

示例

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

复制代码
AuthorityRule rule = new AuthorityRule();
rule.setResource("test");
rule.setStrategy(RuleConstant.AUTHORITY_WHITE);
rule.setLimitApp("appA,appB");
AuthorityRuleManager.loadRules(Collections.singletonList(rule));
相关推荐
Mem0rin2 分钟前
[Java/数据结构]PriorityQueue
java·数据结构
阿拉斯攀登4 分钟前
20 个 Android JNI + CMake 生产级示例
android·java·开发语言·人工智能·机器学习·无人售货柜
小江的记录本10 分钟前
【 AI工程化】AI工程化:MLOps、大模型全生命周期管理、大模型安全(幻觉、Prompt注入、数据泄露、合规)
java·人工智能·后端·python·机器学习·ai·架构
我登哥MVP12 分钟前
【SpringMVC笔记】 - 5 - View
java·spring boot·spring·servlet·tomcat·maven·intellij-idea
毅炼15 分钟前
MyBatis 常见问题总结
java·数据库·sql·mybatis
清心歌17 分钟前
LinkedList 深入解析
java
鱼鳞_21 分钟前
Java学习笔记_Day32(IO流字符集字符流)
java·笔记·学习
Rsun0455122 分钟前
17、Java 责任链模式从入门到实战
java·python·责任链模式
GDAL23 分钟前
IntelliJ IDEA 前端开发全面教程
java·ide·intellij-idea
rabbit_pro24 分钟前
IDEA保存SSH会话信息
java·ssh·intellij-idea