[英]How do you use the MongoDB Java Driver in version 4.4 to connect to a replica set using SSL and password authentication?
[英]MongoDB Java driver Authentication - Version mismatch issue?
問-無法通過Mongo Java驅動程序進行身份驗證。 在mongo shell上一切正常。
MongoDB服務器版本 -
db version v3.2.6
Java Mongodb驅動程序Maven依賴關系
version 2.6.2
這就是我所做的 -
Java方面
MongoOptions moptions = new MongoOptions();
moptions.autoConnectRetry = Boolean.getBoolean(prop.getProperty("MONGO_OPTIONS_AUTOCONNECT_RETRY"));
moptions.connectionsPerHost = Integer.parseInt(prop.getProperty("MONGO_OPTIONS_CONNECTIONS_PER_HOST"));
moptions.threadsAllowedToBlockForConnectionMultiplier = Integer.parseInt(prop.getProperty("MONGO_OPTIONS_THREADS_BLOCK"));
ServerAddress srvAddr = new ServerAddress(prop.getProperty("MONGODB_HOST"), Integer.parseInt(prop.getProperty("MONGODB_PORT")));
client = new Mongo(srvAddr, moptions);
DB adminDB = client.getDB("admin");
Boolean auth = adminDB.authenticate("abc", "abc".toCharArray());
結果
auth總是錯誤的。
我知道的MongoDB Java驅動程序2.x的身份驗證過程如下:
MongoCredential credential = MongoCredential.createCredential(
user, "admin", password.toCharArray());
Mongo mongo = new MongoClient(new ServerAddress(mongoHostname),
Arrays.asList(credential));
關於使用2.x驅動程序訪問Mongo 3.2數據庫的注意事項,您至少需要MongoDB Java驅動程序版本2.14(請參閱MongoDB兼容性信息 )。 您的版本2.6.2太舊了。 您需要升級它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.