Käyttäjän luominen ja roolin lisääminen MongoDB
MongoDB Luo järjestelmänvalvojan käyttäjä
Luodaan käyttäjän järjestelmänvalvoja MongoDB tehdään CreateUser-menetelmällä. Seuraava esimerkki näyttää, kuinka tämä voidaan tehdä.
db.createUser( { user: "Guru99", pwd: "password", roles:[{role: "userAdminAnyDatabase" , db:"admin"}]})
Koodin selitys:
- Ensimmäinen askel on määrittää "käyttäjänimi" ja "salasana", jotka on luotava.
- Toinen vaihe on roolin määrittäminen käyttäjälle. Koska sen on oltava tietokannan ylläpitäjä, jolloin olemme määrittäneet "userAdminAnyDatabase" -roolin. Tämä rooli antaa käyttäjälle järjestelmänvalvojan oikeudet kaikkiin tietokantoihin MongoDB.
- Parametri db määrittää järjestelmänvalvojan tietokannan, joka on erityinen metatietokanta MongoDB joka sisältää tämän käyttäjän tiedot.
Jos komento suoritetaan onnistuneesti, seuraava tulos näytetään:
lähtö:
Tulos näyttää, että käyttäjä nimeltä "Guru99" luotiin ja että käyttäjällä on oikeudet kaikkiin tietokantoihin MongoDB.
MongoDB Luo käyttäjä yhdelle tietokannalle
Luodaksemme käyttäjän, joka hallitsee yhtä tietokantaa, voimme käyttää samaa komentoa kuin yllä mainittiin, mutta meidän on käytettävä vain "userAdmin" -vaihtoehtoa.
Seuraava esimerkki näyttää, kuinka tämä voidaan tehdä;
db.createUser( { user: "Employeeadmin", pwd: "password", roles:[{role: "userAdmin" , db:"Employee"}]})
Koodin selitys:
- Ensimmäinen askel on määrittää "käyttäjänimi" ja "salasana", jotka on luotava.
- Toinen vaihe on määrittää käyttäjälle rooli, joka tässä tapauksessa, koska sen on oltava tietokannan ylläpitäjä, on määritetty "userAdmin" -rooliin. Tämä rooli antaa käyttäjälle järjestelmänvalvojan oikeudet vain tietokantaan, joka on määritetty db-vaihtoehdossa.
- Parametri db määrittää tietokannan, johon käyttäjällä tulee olla järjestelmänvalvojan oikeudet.
Jos komento suoritetaan onnistuneesti, seuraava tulos näytetään:
lähtö:
Tulos näyttää, että käyttäjä nimeltä "Employeeadmin" luotiin ja että käyttäjällä on oikeudet vain "Employee"-tietokantaan.
Käyttäjien hallinta
Ymmärrä ensin roolit, jotka sinun on määriteltävä. Tarjolla on koko lista rooleista MongoDB. Esimerkiksi on olemassa "lukurooli", joka sallii vain luku -oikeuden tietokantoihin, ja sitten on "readwrite" -rooli, joka tarjoaa luku- ja kirjoitusoikeudet tietokantaan , mikä tarkoittaa, että käyttäjä voi antaa lisäyksen, poistaa ja päivitä komennot kyseisen tietokannan kokoelmissa.
db.createUser( { user: "Mohan", pwd: "password", roles:[ { role: "read" , db:"Marketing"}, { role: "readWrite" , db:"Sales"} } ] })
Yllä oleva koodinpätkä osoittaa, että Mohan-niminen käyttäjä on luotu ja hänelle on määritetty useita rooleja useissa tietokannoissa. Yllä olevassa esimerkissä hänelle annetaan vain lukuoikeus ”Markkinointi”-tietokantaan ja luku-kirjoitusoikeus ”Sales”-tietokantaan.