您现在的位置是:首页 >技术教程 >SpringCloudAlibaba:Nacos开启鉴权(解决跳过登录页面问题)网站首页技术教程
SpringCloudAlibaba:Nacos开启鉴权(解决跳过登录页面问题)
目录
一:修改 /nacos/conf/application.properties 配置文件
2.客户端和服务端交互时用于加密的密钥,可以防止认证过程中的信息泄露。
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 配置文件
-
启动登录认证功能 原本是false修改为true
nacos.core.auth.enabled=true
-
客户端和服务端交互时用于加密的密钥,可以防止认证过程中的信息泄露。
nacos.core.auth.server.identity.key=yourKey nacos.core.auth.server.identity.value=yourKey
-
设置 Token 认证的密钥
nacos.core.auth.plugin.nacos.token.secret.key=SecretKey012345678901234567890123456789012345678901234567890123456789
-
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。