五.SpringCloudAlibaba极简入门-修改Nacos控制台密码

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: Nacos的控制台登录账号是nacos/nacos , 在生产环境中一定需要修改密码,不然一旦服务器地址泄露Nacos就会变得不安全,后果不堪设想。在上一章节我们做Nacos集群时我们基于MySql做了Nacos的数据持久化。在Nacos的数据库中有一个user表 , 这个表就是用来记录Nacos的控制台登录账号的,我们只需要修改表中的password 字段的 值即可。如下

老鸟飞过 , 只做学习使用,欢迎交流

1.概述

Nacos的控制台登录账号是nacos/nacos , 在生产环境中一定需要修改密码,不然一旦服务器地址泄露Nacos就会变得不安全,后果不堪设想。在上一章节我们做Nacos集群时我们基于MySql做了Nacos的数据持久化。在Nacos的数据库中有一个user表 , 这个表就是用来记录Nacos的控制台登录账号的,我们只需要修改表中的password 字段的 值即可。如下
在这里插入图片描述

2.BCryptPasswordEncoder加密

Nacos的密码到底是使用什么样的加密方式来加密的呢?我这里截了一下Nacos源码中密码的加密工具如下:


package com.alibaba.nacos.console.utils;

import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;

/**
 * Password encoder tool
 *
 * @author nacos
 */
public class PasswordEncoderUtil {
   
   

    public static void main(String[] args) {
   
   
        System.out.println(new BCryptPasswordEncoder().encode("nacos"));
    }

    public static Boolean matches(String raw, String encoded) {
   
   
        return new BCryptPasswordEncoder().matches(raw, encoded);
    }

    public static String encode(String raw) {
   
   
        return new BCryptPasswordEncoder().encode(raw);
    }
}

Nacos用到了security的BCryptPasswordEncoder加密器进行加密,这种加密算法使用哈希算法+随机盐来对字符串加密,对相同的内容多次加密出来的结果不一样却又能校验成功,这样更能保证密码不被破解。BCryptPasswordEncoder提供了encode方法用来对明文进行加密,matches方法用来校验明文密码和密文是否匹配,下面是一段加密,验证的测试代码

public class PasswordEncoderUtil {
   
   

    public static void main(String[] args) {
   
   
        //创建加密器
        BCryptPasswordEncoder bCryptPasswordEncoder = new BCryptPasswordEncoder();

        //对字符串进行加密得到密文
        String enPass = bCryptPasswordEncoder.encode("admin");

        //验证明文的密码是否正确
        boolean isMathch = bCryptPasswordEncoder.matches("admin", enPass);

        System.out.println("密码比对成功");    //打印true
    }
}

3.修改Nacos密码

如果要使用 BCryptPasswordEncoder 你需要导入Security的依赖,我这里在springcloudalibaba-user-server-1010工程中加入了如下依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
</dependency>

然后写了一段代码得到密文

public class PasswordEncoderUtil {
   
   

    public static void main(String[] args) {
   
   
        System.out.println(new BCryptPasswordEncoder().encode("admin"));        
        //密文:$2a$10$YrC76q2zs2zLLlUljW5MzubUS0L2hKtMYfjDQCmtWkNLFjFTCf9zO
    }
}

这里把密码“admin”,加密成了密码,我们需要把密文修改到Nacosuser表中的 password字段

在这里插入图片描述
注意:得到密文之后,请把 spring-boot-starter-security 包注释,因为不需要了,不然security会自动做权限检查会报错。

4.登录Nacos控制台

启动Nacos服务端,访问控制台 http://centos的ip:8848/nacos/ 然后使用 nacos/admin登录

相关文章
|
1月前
|
存储 算法 Java
Nacos学习圣经:从入门到精通 Nacos,最全详解
本文,就是 Nacos 学习圣经,帮助大家彻底掌握 阿里 的核心组件, nacos 。 Nacos学习圣经 正式版本会有更新, 。
Nacos学习圣经:从入门到精通 Nacos,最全详解
|
1月前
|
Java Nacos 开发工具
Nacos入门到精通
本文详细介绍了Nacos的基本概念、安装过程、配置管理功能,并通过具体代码示例展示了如何使用Java SDK和Spring Boot拉取和监听Nacos中的配置信息。
54 0
Nacos入门到精通
|
3月前
|
安全 Shell 数据安全/隐私保护
CI/CD笔记.Gitlab系列:控制台强制修改root用户密码
CI/CD笔记.Gitlab系列:控制台强制修改root用户密码
146 2
|
3月前
|
安全 Nacos 数据安全/隐私保护
【技术干货】破解Nacos安全隐患:连接用户名与密码明文传输!掌握HTTPS、JWT与OAuth2.0加密秘籍,打造坚不可摧的微服务注册与配置中心!从原理到实践,全方位解析如何构建安全防护体系,让您从此告别数据泄露风险!
【8月更文挑战第15天】Nacos是一款广受好评的微服务注册与配置中心,但其连接用户名和密码的明文传输成为安全隐患。本文探讨加密策略提升安全性。首先介绍明文传输风险,随后对比三种加密方案:HTTPS简化数据保护;JWT令牌减少凭证传输,适配分布式环境;OAuth2.0增强安全,支持多授权模式。每种方案各有千秋,开发者需根据具体需求选择最佳实践,确保服务安全稳定运行。
320 0
|
4月前
|
缓存 监控 NoSQL
若依修改----监控相关,主要包括在线用户,数据监控,服务监控,缓存监控,缓存列表,缓存监控有助于帮我们搞清楚redis的缓存情况,数据监控的密码控制台管理用户名和密码在application-dru
若依修改----监控相关,主要包括在线用户,数据监控,服务监控,缓存监控,缓存列表,缓存监控有助于帮我们搞清楚redis的缓存情况,数据监控的密码控制台管理用户名和密码在application-dru
|
5月前
|
存储 IDE C#
C#入门:在JetBrains Rider中创建.Net Framework控制台应用程序,输出“Hello, World!”
C#入门:在JetBrains Rider中创建.Net Framework控制台应用程序,输出“Hello, World!”
635 0
|
5月前
|
SpringCloudAlibaba 负载均衡 Java
SpringCloudAlibaba之nacos的服务注册与发现
如图所示:按照图示搭建一个nacos作为服务注册中心的简单应用.
46 0
|
5月前
|
SpringCloudAlibaba 安全 Java
SpringCloudalibaba之Nacos的配置管理
如图所示,nacos-config-example被192.168.56.1获取过。
174 0
|
6月前
|
Cloud Native Java Nacos
Nacos 1.4.1核心功能组件及使用入门
以上步骤提供了 Nacos 1.4.1 的基本使用概览,具体的配置和使用可能根据你的环境和需求有所不同。
205 6
|
6月前
|
消息中间件 存储 数据库
RabbitMQ入门指南(二):架构和管理控制台的使用
RabbitMQ是一个高效、可靠的开源消息队列系统,广泛用于软件开发、数据传输、微服务等领域。本文主要介绍了RabbitMQ架构和管理控制台的使用等内容。
187 0
RabbitMQ入门指南(二):架构和管理控制台的使用