SpringCloud nacos1.4.1版本升级开启登录认证踩坑

SpringCloud nacos1.4.1版本升级开启登录认证踩坑

环境:SpringCloud Greenwich.SR4
SpringBoot 2.1.1.RELEASE
spring-cloud-starter-alibaba-nacos-config 2.1.1.RELEASE
Nacos服务端版本:1.4.1
背景:Nacos鉴权漏洞修复,nacos服务端版本升级到1.4.1的版本后,开启登录认证后,服务启动过程中,读取配置中心和注册时,都会报unknown user!的错误。由于官方文档中也没有找到建设性的意见和指导,各种搜索也没有结果,所以就自己抽空读了一下源码
在这里插入图片描述
配置文件中已经对usernamepassword进行了配置(此处用户名密码对应服务端配置文件中的nacos.core.auth.server.identity key/value),但是好像没有生效。
在这里插入图片描述
通过报错信息发现,spring-cloud-starter-alibaba-nacos-discovery 2.1.1.RELEASE版本依赖的nacos-client包版本是1.1.4,通过源码分析,发现并不支持username和password的登录认证配置,所以做了以下的操作,引入nacos-client1.4.1版本:
在这里插入图片描述
本以为到这就可以解决问题了,但是重启后发现还是报同样的错误,403,unknown user!继续源码断点追踪,发现在nacos-client中调用nacos服务器的时候,username和password为空,也就是没有取到我们的配置文件。
这个时候开始注意到spring-cloud-starter-alibaba-nacos-config 2.1.1.RELEASE,通过源码可以看到在本版本中,nacos config配置文件读取过程中,根本就没有username和password的配置读取。
于是接下来就进行spring-cloud-starter-alibaba-nacos-config的版本升级,目前Alibaba Cloud最高版本为2.2.1.RELEASE,所以,将spring-cloud-starter-alibaba-nacos-config版本升级到2.2.1.RELEASE
在这里插入图片描述
至此,重启服务后,配置中心调用成功,解决完毕。

由于该文章是在问题解决后才写的,源码部分就没有在文章中展示,有兴趣的同学可以自行断点追踪

以上描述如有问题,欢迎各位大佬批评指正,谢谢!

原创不易,欢迎一键三连

  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值