您现在的位置是:首页 >技术教程 >SpringCloudAlibaba:Nacos开启鉴权(解决跳过登录页面问题)网站首页技术教程

SpringCloudAlibaba:Nacos开启鉴权(解决跳过登录页面问题)

Microhoo_苏福 2024-06-17 11:26:31
简介SpringCloudAlibaba:Nacos开启鉴权(解决跳过登录页面问题)

目录

一:修改 /nacos/conf/application.properties 配置文件

1.启动登录认证功能  原本是false修改为true

2.客户端和服务端交互时用于加密的密钥,可以防止认证过程中的信息泄露。

3.设置 Token 认证的密钥

4.Nacos集成SpringBoot实现服务注册与发现,操作服务注册是,yml文件中需要添加 username和passwrod

二:具体分析一下上边修改的这些配置

1.nacos.core.auth.enabled 是 Nacos 中的一个配置,用于控制是否开启登录认证功能。

2.nacos.core.auth.server.identity.key/value

3.nacos.core.auth.plugin.nacos.token.secret.key 是 Nacos 中的一个配置,用于设置 Token 认证的密钥。


最近在Nacos使用中,发现访问Nacos页面,跳过鉴权认证,不需要登录就进去了。。。

废话不多说,直接开整:

一:修改 /nacos/conf/application.properties 配置文件

  1. 启动登录认证功能  原本是false修改为true

    nacos.core.auth.enabled=true
  2. 客户端和服务端交互时用于加密的密钥,可以防止认证过程中的信息泄露。

    nacos.core.auth.server.identity.key=yourKey                         
    ​​​​​​​nacos.core.auth.server.identity.value=yourKey
  3. 设置 Token 认证的密钥

    nacos.core.auth.plugin.nacos.token.secret.key=SecretKey012345678901234567890123456789012345678901234567890123456789
  4. Nacos集成SpringBoot实现服务注册与发现,操作服务注册是,yml文件中需要添加 username和passwrod

    cloud:
      nacos:
        discovery:
          username: nacos
          password: nacos

此时关闭服务( sh shutdown.sh ),再重启服务( sh startup.sh -m standalone ),进入nacos页面就可以登录了。


二:具体分析一下上边修改的这些配置

1.nacos.core.auth.enabled 是 Nacos 中的一个配置,用于控制是否开启登录认证功能。

当 nacos.core.auth.enabled=true 时,Nacos 启动登录认证功能。此时访问 Nacos 服务端 API 和控制台,都需要输入用户名和密码。

默认的用户名和密码都是 nacos。

当 nacos.core.auth.enabled=false 时,Nacos 禁用登录认证功能。此时访问 Nacos 服务端 API 和控制台,不需要任何登录,可以匿名访问。

启用认证功能可以提高 Nacos 的安全性,防止服务端被非授权访问。所以对于生产环境中的 Nacos Server,推荐设置为 true。

当认证功能被启用时,如果客户端(其他服务或控制台用户)无法提供正确的用户名和密码,将无法访问 Nacos Server。这可以防止非授权用户访问可能的敏感信息。

Nacos 还支持更高级的认证方式,如 LDAP 认证。但基于 username/password 的简单认证已经可以满足大多数安全需求。

理解 Nacos 服务端的各项认证配置,有助于我们保障 Nacos 系统的安全可靠运行。

2.nacos.core.auth.server.identity.key/value

nacos.core.auth.server.identity.key是 Nacos 中的一个配置,用于身份验证的对称加密密钥。

nacos.core.auth.server.identity.value 是 Nacos 中的一个配置,用于身份验证的对称加密密钥值

当 Nacos 启用更高级的 LDAP/AD 认证方式时,nacos.core.auth.server.identity.key/value 配置非常重要。它作为客户端和服务端交互时用于加密的密钥,可以防止认证过程中的信息泄露。

如果不配置此项,Nacos 在 LDAP/AD 认证过程中会使用默认密钥,这会造成安全隐患。

所以在生产环境下,强烈建议设置 nacos.core.auth.server.identity.key/value。

3.nacos.core.auth.plugin.nacos.token.secret.key 是 Nacos 中的一个配置,用于设置 Token 认证的密钥。

当 Nacos 启用 Token 认证方式时,nacos.core.auth.plugin.nacos.token.secret.key 用于生成和验证 Token。

如果不配置此项,默认会使用一个不安全的随机密钥,这会带来安全隐患。

所以在生产环境下使用 Token 认证方式时,强烈建议设置 nacos.core.auth.plugin.nacos.token.secret.key。

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。