MongoSecurityException: исключение, аутентифицирующее MongoCredential в Java - PullRequest
0 голосов
/ 11 декабря 2018

Я попытался соединить базу данных MongoDB с учетными данными для входа.Я использовал (bson-3.8.2, mongodb-driver-3.9.1 и mongodb-driver-core-3.8.2) эти jar-файлы в моем Java-проекте, и каждый из них требуется в моем коде.Для соединения кода Java с базой данных MongoDB я использовал следующий код:

MongoCredential credential = MongoCredential.createScramSha1Credential("myUserAdmin", "admin", "abc123".toCharArray());
MongoClient mongoCl = new MongoClient(hostname, 27017), Arrays.asList(credential));
MongoDatabase db = mongoCl.getDatabase( "mydb" );
MongoCollection collection = db.getCollection("employee");
FindIterable<Document> fi = collection.find();
MongoCursor<Document> cursor = fi.iterator();
while (cursor.hasNext()) {
    Document doc = cursor.next();
    String ename = doc.getString("email");
    System.out.println("Email: " + ename);              
}

"hostname" - это IP-адрес другой системы, потому что я хочу подключиться к базе данных MongoDB этой системы.

При создании myUserAdmin я дал разрешение на чтение и запись в любую базу данных.

При попытке запустить код возникло следующее исключение:

Исключение: com.mongodb.MongoSecurityException: исключение, аутентифицирующее MongoCredential {механизм = SCRAM-SHA-1

Для созданияучетные данные, я перепробовал много методов, таких как createScramSha1Credential, createScramSha256Credential, createCredential, createPlainCredential

Тот же код работал с аутентификацией, установленной в false в MongoDB для соединения с базой данных.

Может кто-нибудь объяснить мне, как решить эту проблему?Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...