Всеки път, когато настройвате mongodb, трябва да създадете администраторски потребител с роля userAdminAnyDatabase и ще можете да създадете този потребител дори mongod да е стартиран с --auth или не. можете да създадете този потребител чрез командата по-долу.
use admin
db.createUser(
{
user: "myUserAdmin",
pwd: "abc123",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
След това, ако оторизацията не е включена, направете я чрез стартиране на mongod с --auth флаг или включете оторизацията в mongod.conf и рестартирайте сървъра на mongod.
След това влезте в mongo shell чрез командата по-долу с администраторския потребител
mongo --port 27017 -u "myUserAdmin" -p "abc123" --authenticationDatabase "admin"
Отидете в базата данни и създайте потребител с разрешение за четене и запис.
use myapplication
db.createUser(
{
user: "myTester",
pwd: "xyz123",
roles: [ { role: "readWrite", db: "myapplication" }]
}
)
Сега можете да използвате myTester потребител, за да четете/пишете в myapplication база данни и всеки път, когато създавате нова база данни, стартирайте mongo shell с myUserAdmin потребител и създайте нов потребител за нова база данни.
В mongodb можете също да създадете един потребител и да му дадете всички разрешения за цялата база данни, но това не трябва да правите.
Ако искате да проучите допълнително, можете да проверите връзката по-долу. https://docs.mongodb.com/v3.2/tutorial/ enable-authentication/
И когато случайно сте заключили mongodb, можете да изключите оторизацията от файла mongod.conf и да получите достъп до вашите данни.