Mongodb 在Mongo Java Driver 2.13.0中,如何使用给定的用户名和密码对任何数据库进行身份验证?

Mongodb 在Mongo Java Driver 2.13.0中,如何使用给定的用户名和密码对任何数据库进行身份验证?,mongodb,authentication,mongodb-java,mongo-java,mongo-java-driver,Mongodb,Authentication,Mongodb Java,Mongo Java,Mongo Java Driver,以前我可以使用db.authenticate(字符串用户名,字符[]密码)方法。使用2.13.0,我如何实现这一点?使用 导入com.mongodb.MongoCredential 蒙哥里德蒙哥里德= 创建MongoCredential(字符串用户名,字符串 dbName,char[]密码) 并使用mongocredentials创建mongoclient mongodb.MongoClient.MongoClient(列出种子,列表 凭据列表,MongoClient选项)没有db.authen

以前我可以使用
db.authenticate(字符串用户名,字符[]密码)
方法。使用2.13.0,我如何实现这一点?

使用

导入com.mongodb.MongoCredential

蒙哥里德蒙哥里德= 创建MongoCredential(字符串用户名,字符串 dbName,char[]密码)

并使用mongocredentials创建mongoclient

mongodb.MongoClient.MongoClient(列出种子,列表
凭据列表,MongoClient选项)

没有db.authenticate()的替代品。驱动程序将使用提供的凭据,并确保连接在创建时经过身份验证


基于此,Java驱动程序团队愿意讨论db.authenticate(…)方法的真正需求。

我们可以对数据库进行基于用户密码的身份验证,在这种情况下,我们需要为新版本提供如下所示的授权凭据。

MongoCredential journaldevAuth = MongoCredential.createPlainCredential("pankaj", "journaldev", "pankaj123".toCharArray());
    MongoCredential testAuth = MongoCredential.createPlainCredential("pankaj", "test", "pankaj123".toCharArray());
    List<MongoCredential> auths = new ArrayList<MongoCredential>();
    auths.add(journaldevAuth);
    auths.add(testAuth);

    ServerAddress serverAddress = new ServerAddress("localhost", 27017);
    MongoClient mongo = new MongoClient(serverAddress, auths);

我知道MongoCredential。正如我在问题中提到的,我只想根据用户名或密码对数据库进行身份验证。
MongoClient mongo = new MongoClient("localhost", 27017);
DB db = mongo.getDB("journaldev");
boolean auth = db.authenticate("pankaj", "pankaj123".toCharArray());