MongoDB Създаване на администраторски потребител
Създаването на потребителски администратор в MongoDB се извършва чрез метода createUser. Следващият пример показва как това може да се направи.
db.createUser({ user: "Guru99",pwd: "password",roles:[{role: "userAdminAnyDatabase" , db:"admin"}]})
Обяснение на кода:
- Първата стъпка е да посочите "потребителско име" и "парола", които трябва да бъдат създадени.
- Втората стъпка е да зададете роля на потребителя. Тъй като трябва да бъде администратор на база данни, в този случай сме назначили ролята "userAdminAnyDatabase". Тази роля позволява на потребителя да има административни привилегии за всички бази данни в MongoDB.
- Параметърът db определя администраторската база данни, която е специална база данни Meta в MongoDB, която съдържа информацията за този потребител.
Ако командата се изпълни успешно, ще се покаже следният изход:
Изход:
Резултатът показва, че е създаден потребител, наречен "Guru99" и че потребителят има привилегии над всички бази данни в MongoDB.
MongoDB Създаване на потребител за единична база данни
За да създадем потребител, който ще управлява една база данни, можем да използваме същата команда, както беше споменато по-горе, но трябва да използваме само опцията "userAdmin".
Следващият пример показва как това може да се направи;
db.createUser({user: "Employeeadmin",pwd: "password",roles:[{role: "userAdmin" , db:"Employee"}]})
Обяснение на кода:
- Първата стъпка е да посочите "потребителско име" и "парола", които трябва да бъдат създадени.
- Втората стъпка е да се присвои роля на потребителя, която в този случай, тъй като трябва да бъде администратор на база данни, се присвоява на ролята "userAdmin". Тази роля позволява на потребителя да има административни привилегии само за базата данни, посочена в опцията db.
- Параметърът db указва базата данни, върху която потребителят трябва да има администраторски права.
Ако командата се изпълни успешно, ще се покаже следният изход:
Изход:
Резултатът показва, че е създаден потребител, наречен "Employeeadmin" и че потребителят има привилегии само в базата данни "Employee".
Управление на потребителите
Първо разберете ролите, които трябва да дефинирате. В MongoDB има цял списък с роли. Например, има "роля за четене", която позволява само достъп само за четене до бази данни, а след това има роля "readwrite", която осигурява достъп за четене и запис в базата данни, което означава, че потребителят може да издаде вмъкването, изтриването и команди за актуализиране на колекции в тази база данни.
db.createUser({user: "Mohan",pwd: "password",roles:[{role: "read" , db:"Marketing"},role: "readWrite" , db:"Sales"}}]})
Горният кодов фрагмент показва, че се създава потребител, наречен Mohan, и му се възлагат множество роли в множество бази данни. В горния пример му е дадено разрешение само за четене на базата данни "Маркетинг" и разрешение readDrite на базата данни "Продажби".