Sådan opretter du bruger og tilføjer rolle i MongoDB
MongoDB Opret administratorbruger
Oprettelse af en brugeradministrator i MongoDB gøres ved at bruge createUser metoden. Følgende eksempel viser, hvordan dette kan gøres.
db.createUser( { user: "Guru99", pwd: "password", roles:[{role: "userAdminAnyDatabase" , db:"admin"}]})
Kodeforklaring:
- Det første trin er at angive "brugernavn" og "adgangskode", som skal oprettes.
- Det andet trin er at tildele en rolle til brugeren. Da det skal være en databaseadministrator, i hvilket tilfælde vi har tildelt rollen "userAdminAnyDatabase". Denne rolle giver brugeren mulighed for at have administrative rettigheder til alle databaser i MongoDB.
- Parameteren db angiver admin-databasen, som er en speciel Meta-database indenfor MongoDB som opbevarer oplysningerne for denne bruger.
Hvis kommandoen udføres med succes, vil følgende output blive vist:
Output:
Outputtet viser, at en bruger kaldet "Guru99" blev oprettet, og at brugeren har privilegier over alle databaserne i MongoDB.
MongoDB Opret bruger til en enkelt database
For at oprette en bruger, der vil administrere en enkelt database, kan vi bruge den samme kommando som nævnt ovenfor, men vi skal kun bruge "userAdmin"-indstillingen.
Følgende eksempel viser, hvordan dette kan gøres;
db.createUser( { user: "Employeeadmin", pwd: "password", roles:[{role: "userAdmin" , db:"Employee"}]})
Kodeforklaring:
- Det første trin er at angive "brugernavn" og "adgangskode", som skal oprettes.
- Det andet trin er at tildele en rolle til brugeren, som i dette tilfælde, da det skal være en databaseadministrator, er tildelt rollen "userAdmin". Denne rolle tillader brugeren kun at have administrative rettigheder til den database, der er angivet i db-indstillingen.
- Parameteren db angiver den database, som brugeren skal have administrative rettigheder til.
Hvis kommandoen udføres med succes, vil følgende output blive vist:
Output:
Outputtet viser, at en bruger kaldet "Employeeadmin" blev oprettet, og at brugeren kun har privilegier på "Employee"-databasen.
Håndtering af brugere
Forstå først de roller, som du skal definere. Der er en hel liste over roller tilgængelige i MongoDB. For eksempel er der en "læse-rolle", som kun tillader skrivebeskyttet adgang til databaser, og så er der "readwrite"-rollen, som giver læse- og skriveadgang til databasen, hvilket betyder, at brugeren kan udstede indsættelsen, slette og opdatere kommandoer på samlinger i den database.
db.createUser( { user: "Mohan", pwd: "password", roles:[ { role: "read" , db:"Marketing"}, { role: "readWrite" , db:"Sales"} } ] })
Ovenstående kodestykke viser, at en bruger kaldet Mohan er oprettet, og han er tildelt flere roller i flere databaser. I ovenstående eksempel får han skrivebeskyttet tilladelse til "Marketing"-databasen og readWrite-tilladelse til "Salg"-databasen.