Код: Выделить всё
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;
- Проверьте аутентифицированное соединение в IDEA Mongo Explorer с теми же учетными данными, все в порядке.
< li>Выполните мое приложение и получите исключение. Ошибка аутентификации.
[*]Как подключиться к MongoDB 3.2 на Java с помощью имени пользователя и пароля? Я видел пару примеров, но они используют устаревшие методы.
[*]Должен ли я добавлять своих пользователей в myAppDB или в администраторскую< /код> таблица? В некоторых уроках я видел, что пользователи создаются в таблице администратора. Это хорошая идея или стоит создавать пользователей только в той базе данных, с которой они будут работать?
Подробнее здесь: https://stackoverflow.com/questions/353 ... d-password
Мобильная версия