Dubbo提供了对消费者的 token验证,防止消费者:
1.防止消费者绕过 注册中心访问提供者
2.在注册中心控制权限,以决定要不要下发令牌给消费者。
3.注册中心可灵活改变授权方式,而不需要修改或升级提供者。
配置方法:
提供商配置:
1.服务器级别:
token:该参数接收两种类型值:boolean类型-True则生成UUID随机令牌,若为String则自定义令牌
2.全局级别:
在供应商配置中配置token
3.协议级别(我使用的spring boot未找到协议级别如何配置,使用官方推荐):
消费商配置:
官方并未直接给出referenceConfig如何在consumer上配置token,但由源码分析得来,Dubbo采用隐式参数传递token,RpcContext.getContext().setAttachment("token","123456"):
结论:
经过测试,只有消费商提供了与提供商一致的token,才能访问提供商提供的服务。