Dubbo-2.7.3 - Nacos-2.0.3 整合遇到的unknown user问题及解决过程记录

Dubbo-2.7.3 - Nacos-2.0.3 整合遇到的unknown user问题及解决过程记录

解决方案

  1. 通过dubbo spi 实现一个自己的RegistryFatory (直接copy NacosRegistryFactory)

  2. setProperties()方法中增加usernamepassword的键值对
    在这里插入图片描述

  3. 并且在META-INF/dubbo下添加对应接口的源根全限定名
    在这里插入图片描述

  4. 因为我们的实现key为auth-nacosnacos进行隔离 修改application.yml文件对应的registry链接地址为auth-nacos:// 开头
    在这里插入图片描述
    在这里插入图片描述

  5. 至此,启动成功,下面是详细定位过程

问题重现 (低版本的异常信息会是请求403并且会有h5元素提示unknown user!)

Caused by: com.alibaba.nacos.api.exception.NacosException: unknown user!
	at com.alibaba.nacos.client.naming.remote.gprc.NamingGrpcClientProxy.requestToServer(NamingGrpcClientProxy.java:282) ~[nacos-client-2.0.4.jar:na]
	... 36 common frames omitted

我们看到异常抛出后 NamingGrpcClientProxy.requestToServer(NamingGrpcClientProxy.java:282)
在282行,requestToServer抛出的,我们进行debug

也就说明在进行服务导出时没有权限进行、所以要看request请求头当中是否存在token
在这里插入图片描述
我们继续反向推理出为什么没有token 也就是在SecurityProxy一开始构造时初始化构造NamingService的时候properties的问题
![在这里插入图片描述](https://img-blog.csdnimg.cn/9c30029d4f624afd95138d25219d53dc.png
继续往上推,在构造properties的时候压根没有username和password的kv
在这里插入图片描述
至此可以定位出是NacosRegistryFactory在nacos配置auth需要认证时的缺陷
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值