Sentinel
Sentinel copied to clipboard
自定义origin后,授权规则黑名单还是不生效
比如我的接口是这样的:
然后我的自定义origin是这样的:
然后sentinel控制台配置:
然后还是成功返回了:
求解,有没有遇到过的?
1.先用AuthorityRuleManager.getRules()查看规则是否正常加入规则管理器; 2.需要将自定义的OriginParser加入WebCallManager使其生效:WebCallManager.setRequestOriginParser()
官方文档描述:按来源限流:若希望对 HTTP 请求按照来源限流,则可以自己实现 RequestOriginParser 接口从 HTTP 请求中解析 origin 并注册至 WebCallbackManager 中。注意来源数目不能太多,若太多请自定义埋点作为参数传入并使用热点规则。 config新增如下代码: /** * 初始化sentinel相关配置 */ @PostConstruct public void init(){ WebCallbackManager.setRequestOriginParser(requestOriginParser()); }
看下你写的切面吧,进入上下文的方法,要加入origin。 ContextUtil.enter(contextName, origin); 上游要带上Header,key是S-user,不是origin
RequestOriginParser这个类型你看下是不是引用错了,要引入springmvc那个包的不要引入servlet那个包的。