微服务引擎MSE

Nacos实例 登陆失败如何解决?

2025-05-28 08:24:10

本文介绍用户登录Nacos失败的常见现象以及解决方案。

 

问题现象

程序连接Nacos时出现以下错误。

login failed.

caused:No Authentication Provider found for org.springframework.security.authentication.UsernamePasswordAuthenticationToken;

问题原因

1.   应用程序中配置了Nacos的username和password,且开启Nacos的鉴权功能,但传入的username和password不正确,导致login failed。

2.   用户配置的AcccessKey和SecurityKey不正确,导致认证失败。

3.   未开启认证时传递了错误的认证属性字段

解决方案

(1) 检查Nacos实例是否已经打开鉴权功能。具体操作,请参见参数管理。

(2) 检查应用配置,是否有配置Nacos的username和password。未开启认证时需去掉这两个配置项。

(3) 若直接使用Nacos Client,需检查Client配置的信息。若存在,请移除该部分信息后重试。

properties.put(PropertyKeyConst.SERVER_ADDR, "${mseNacos实例域名}");

properties.put(PropertyKeyConst.USERNAME, "${username}");

properties.put(PropertyKeyConst.PASSWORD, "${password}");// 注册中心NamingService namingService = NamingFactory.createNamingService(properties);// 配置中心ConfigService configService = ConfigFactory.createConfigService(properties);

(4) 若使用Spring Cloud,请检查应用配置是否完成了以下配置。若存在,请移除该部分信息后重试。

#注册中心

spring.cloud.nacos.discovery.username=

spring.cloud.nacos.discovery.password=

#配置中心

spring.cloud.nacos.config.username=

spring.cloud.nacos.config.password=

(5) 若使用Dubbo, 请检查配置的注册中心URL上是否存在username或password参数。若存在,请移除该部分信息后重试。例如:

dubbo.registry.address=nacos://${访问地址}:47588?username=&password=

(6) 若没有在应用配置中找到配置Nacos的username和password,且使用的是Spring Cloud,请在部署环境中检查启动参数以及环境变量是否包含相关信息。若存在,请移除这部分信息后重试。


GFlcOS6Zb0sS