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"}]})

MongoDB Opret administratorbruger

Kodeforklaring:

  1. Det første trin er at angive "brugernavn" og "adgangskode", som skal oprettes.
  2. 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.
  3. 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:

MongoDB Opret administratorbruger

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;

MongoDB Opret bruger til en enkelt database

db.createUser(
{
	user: "Employeeadmin",

	pwd: "password",

	roles:[{role: "userAdmin" , db:"Employee"}]})

Kodeforklaring:

  1. Det første trin er at angive "brugernavn" og "adgangskode", som skal oprettes.
  2. 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.
  3. 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:

MongoDB Opret bruger til en enkelt database

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.

Håndtering af brugere

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.