![](/img/trans.png)
[英]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.