gpt4 book ai didi

java - 使用 Java 连接到 MongoDB 服务器实例期间的身份验证

转载 作者:IT老高 更新时间:2023-10-28 13:23:50 24 4
gpt4 key购买 nike

是否可以制作类似的东西:

MongoClient mongo = new MongoClient(ip, port, usrName, password)

在 JAVA 中类似于 MongoVUE或其他基于 SQL 的数据库的身份验证方法。

在连接到数据库实例期间完成身份验证。

我在 MongoClient java doc 中没有看到合适的实例方法

还有 Authentication (Optional) Official docs 的路

不符合我的目标,因为它需要更改我的应用程序中现在不使用身份验证的所有现有查询方法。

Authenticate to MongoDB with the Java Driver 中的路看起来正是我需要的,但在 mongo 2.10.1 发行版中没有 com.mongodb.MongoCredential 类。

最佳答案

您不需要更改所有现有查询,只需要更改建立 MongoClient 的逻辑。大多数应用程序将其作为某种单例进行,因此添加身份验证只是修改单例的问题。令人痛心的是,没有一个只需要字符串的签名,用户名密码的字符串,但它的 Mongo Java API,习惯了失望。

您可以选择获得最短签名的 MongoURI 路径...

MongoClient mongo = new MongoClient(
new MongoClientURI( "mongodb://app_user:bestPo55word3v3r@localhost/data" )
);

或者使用更详细的 List 路径

List<ServerAddress> seeds = new ArrayList<ServerAddress>();
seeds.add( new ServerAddress( "localhost" );
List<MongoCredential> credentials = new ArrayList<MongoCredential>();
credentials.add(
MongoCredential.createMongoCRCredential(
"app_user",
"data",
"bestPo55word3v3r".toCharArray()
)
);
MongoClient mongo = new MongoClient( seeds, credentials );

关于java - 使用 Java 连接到 MongoDB 服务器实例期间的身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21859579/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com