Как подключиться к MongoDB 3.2 на Java с помощью имени пользователя и пароля?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как подключиться к MongoDB 3.2 на Java с помощью имени пользователя и пароля?

Сообщение Anonymous »

В своем приложении я использую MongoDB 3.2. Код ниже демонстрирует логику инициализации базы данных:

Код: Выделить всё

private void dbInit(String dbName) {

String mongoClientURI = "mongodb://" + DB_URL + ":" + DB_PORT;
MongoClientURI connectionString = new MongoClientURI(mongoClientURI);

// enable SSL connection
MongoClientOptions.builder().sslEnabled(true).build();

if (this.mongoClient == null) {
this.mongoClient = new MongoClient(connectionString);
}

// create database if doesn't exist
this.mongoClient.getDatabase(dbName);
}
Этот код работает нормально, теперь я хочу ввести разделение уровней доступа к базе данных.
Действия для этого:
  • Определите пользователей:

Код: Выделить всё

use myAppDB
db.createUser(
{
"user": "myAdmin",
"pwd": "123090d1487dd4ab7",
roles: [ "readWrite", "dbAdmin" ]
}
)

use myAppDB
db.createUser(
{
"user": "guest",
"pwd": "guest",
roles: [ "read" ]
}
)
  • Восстановите службу MongoDB 3.2 в режиме аутентификации:

    Код: Выделить всё

    "C:\Program Files\MongoDB\Server\3.2\bin\mongod.exe" --install --dbpath=C:\data\db --logpath=C:\data\log\log.txt --auth --service. И запустите его.
    
    [*]Измените строку подключения mongoClientURI
    на

Код: Выделить всё

String mongoClientURI = "mongodb://" + DB_SRV_USR + ":" + DB_SRV_PWD + "@" + DB_URL + ":" + DB_PORT;
где DB_SRV_USR = myAdmin и DB_SRV_PWD = 123090d1487dd4ab7.
  • Проверьте аутентифицированное соединение в IDEA Mongo Explorer с теми же учетными данными, все в порядке.

    < li>Выполните мое приложение и получите исключение. Ошибка аутентификации.
Мои вопросы:

[*]Как подключиться к MongoDB 3.2 на Java с помощью имени пользователя и пароля? Я видел пару примеров, но они используют устаревшие методы.

[*]Должен ли я добавлять своих пользователей в myAppDB или в администраторскую< /код> таблица? В некоторых уроках я видел, что пользователи создаются в таблице администратора. Это хорошая идея или стоит создавать пользователей только в той базе данных, с которой они будут работать?



Подробнее здесь: https://stackoverflow.com/questions/353 ... d-password
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»