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));
相关推荐
i***27956 分钟前
springboot集成onlyoffice(部署+开发)
java·spring boot·后端
safestar201210 分钟前
Elasticsearch ILM实战:从数据热恋到冷静归档的自动化管理
java·开发语言·jvm·elasticsearch·es
i***t91915 分钟前
SQL 实战:复杂数据去重与唯一值提取
java
o***111419 分钟前
SpringBoot线程池的使用
java·spring boot·后端
6***v41720 分钟前
SpringBoot下获取resources目录下文件的常用方法
java·spring boot·后端
程序员西西23 分钟前
Spring Cloud实战总结:90%开发者踩过的坑,这篇一次性帮你填平!
java·后端
t***821124 分钟前
【Spring】Cookie和Session是什么
java·后端·spring
y***136424 分钟前
springboot和springframework版本依赖关系
java·spring boot·后端
q***735526 分钟前
springboot与springcloud对应版本
java·spring boot·spring cloud
5h0wer26 分钟前
为什么事务注解会失效?一文搞懂 AOP 代理原理与解决方案
java