在阿里云mongodb上创建新用户。然后使用MongoTemplate连接,提示'Authentic
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
要在阿里云MongoDB上创建新用户并使用MongoTemplate连接时避免'Authentication failed'的错误,请遵循以下步骤:
登录DMS控制台:
执行创建用户命令:
testUser,密码为SecureP@ss123,并授予读写权限(这里以读写角色为例,根据实际需求调整):
db.createUser({user: "testUser", pwd: "SecureP@ss123", roles:[{role: "readWrite", db: "yourDatabase"}]})
yourDatabase为实际需要授权的数据库名称。ok: 1.0表示创建成功。在Java应用中配置MongoTemplate时,确保提供正确的认证信息,包括用户名、密码、数据库以及可能的鉴权数据库(默认为admin,如果root用户或有特定要求则需指定):
import org.springframework.data.mongodb.core.MongoTemplate;
import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoClients;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class AppConfig {
@Bean
public MongoTemplate mongoTemplate() {
String connectionString = "mongodb://testUser:SecureP@ss123@dds-bp19f409d7512****.mongodb.rds.aliyuncs.com:3717/yourDatabase?authSource=admin";
MongoClient mongoClient = MongoClients.create(connectionString);
return new MongoTemplate(mongoClient, "yourDatabase");
}
}
dds-bp19f409d7512****.mongodb.rds.aliyuncs.com:3717为您的实例地址和端口。yourDatabase应与创建用户时指定的数据库一致。authSource=admin指定了鉴权数据库为admin,这适用于非默认数据库账号或有特定鉴权需求的情况。admin数据库下创建的,需正确设置authSource参数。通过上述步骤配置,您应该能够成功使用MongoTemplate连接到阿里云MongoDB实例,且避免认证失败的问题。