Cloud配置Nacos鉴权报错403,get data from nacos error,unknown user

Cloud配置Nacos鉴权报错403,get data from nacos error,unknown user

背景

springblade开源版本3.7.0,nacos使用的是git里面一样的2.1.2版本,依照springblade开发手册进行学习的时候,不开鉴权正常使用,一开鉴权就报403,没有读取到blade-dev.yaml等配置文件,unknown user等错误

尝试

1.更改了各个工具的版本,不起作用,最后尝试完全使用git获取的项目中默认的工具版本,进行其他尝试
2.查询相关问题,依照其他博主在nacos的application.properties文件中进行修改,没用,最后恢复默认只是打开了鉴权
3.在单个的blade-auth项目的application.yml,加入了nacos用户密码的配置,进行测试后仍会报错403


spring:
  cloud:
    nacos:
      config:
        server-addr: 127.0.0.1:8848
        file-extension: yaml
        username: nacos
        password: nacos
        context-path: /nacos
      discovery:
        server-addr: 127.0.0.1:8848
        username: nacos
        password: nacos

思考

403,msg显示unknown user,get data from nacos error,也是user not found之类的,确定就是nacos的用户密码的问题,那么在排除了数据库表和数据的错误外,在排除了nacos文件夹conf的application的配置外,应该是项目中没有对nacos进行用户密码的完整的配置

个人的解决方案_by-YoungZX_

问了大佬后,大佬发现在
在这里插入图片描述
路径中有配置和搜索查到的server-addr一样的配置,于是直接把用户密码配在了这里,应该可以让整个项目都读的到
在这里插入图片描述


		PropsUtil.setProperty(props, "spring.cloud.nacos.config.username", "nacos");
		PropsUtil.setProperty(props, "spring.cloud.nacos.config.password", "nacos");
		PropsUtil.setProperty(props, "spring.cloud.nacos.discovery.username", "nacos");
		PropsUtil.setProperty(props, "spring.cloud.nacos.discovery.password", "nacos");

确实排除了报错o.0

但是用户密码这块开发手册中内容好像不太全,不确定这个方法是否安全,大家学习一下的可以尝试。

在Spring Cloud配置Nacos鉴权可以通过以下步骤进行: 1. 首先,确保你已经成功安装和启动了Nacos服务。你可以参考Nacos官方文档来完成这一步骤。 2. 在你的Spring Cloud项目中,添加Nacos的相关依赖。在`pom.xml`文件中添加以下依赖: ```xml <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> </dependency> ``` 3. 创建一个`bootstrap.yml`或`bootstrap.properties`文件,用于配置Nacos的相关属性。在该文件中添加以下配置: ```yaml spring: cloud: nacos: config: server-addr: ${NACOS_SERVER_ADDR:localhost:8848} group: ${NACOS_CONFIG_GROUP:DEFAULT_GROUP} namespace: ${NACOS_CONFIG_NAMESPACE:} username: ${NACOS_CONFIG_USERNAME:} password: ${NACOS_CONFIG_PASSWORD:} ``` 你可以根据需要修改上述配置,例如更改Nacos服务地址、配置组、命名空间,以及添加用户名和密码。 4. 在你的应用程序中,使用`@Value`注解将Nacos配置注入到对应的属性中。例如: ```java import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; @Component public class MyComponent { @Value("${my.property}") private String myProperty; // ... } ``` 上述示例中,`${my.property}`对应于Nacos配置的属性名。 5. 确保你的应用程序可以访问Nacos服务。如果你的应用程序需要进行鉴权,可以在Nacos的管理控制台中创建相关的权限和角色,并将对应的用户名和密码配置到`bootstrap.yml`或`bootstrap.properties`文件中。 这样,通过以上步骤配置Nacos鉴权后,你的Spring Cloud应用程序就可以使用Nacos作为配置中心,并且能够进行鉴权操作。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值