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));
相关推荐
xUxIAOrUIII6 分钟前
JWT和拦截器使用【附Maven中操作步骤】
java·maven
带刺的坐椅7 分钟前
Liquor(Java 脚本)替代 Groovy 作脚本引擎的可行性分析
java·groovy·liquor
武子康13 分钟前
Java-203 RabbitMQ 生产者/消费者工作流程拆解:Connection/Channel、默认交换器、ACK
java·分布式·消息队列·rabbitmq·erlang·ruby·java-rabbitmq
Coder_Boy_20 分钟前
前端和后端软件系统联调经典问题汇总
java·前端·驱动开发·微服务·状态模式
雨中飘荡的记忆30 分钟前
Retrofit:优雅的JAVA网络请求框架实战
java
Thexhy32 分钟前
基础篇:Redis核心命令及用法
java·linux·redis
狂奔小菜鸡33 分钟前
Day33 | Java中的Optional
java·后端·java ee
啃火龙果的兔子33 分钟前
IntelliJ IDEA社区版下载安装
java·ide·intellij-idea
ckm紫韵38 分钟前
Cursor 与 IDEA 互相跳转教程
java·ide·intellij-idea·cursor·ai工具
渡过晚枫41 分钟前
[蓝桥杯/java/算法]攻击次数
java·算法·蓝桥杯