sql >> Database teknologi >  >> NoSQL >> MongoDB

opret sikker database i mongodb

Fra Mongo Java Tutorial

MongoDB kan køres i en sikker tilstand, hvor adgang til databaser styres gennem navn og adgangskodegodkendelse. Når den køres i denne tilstand, skal enhver klientapplikation angive et navn og en adgangskode, før der udføres nogen handlinger. I Java-driveren gør du blot følgende med det tilsluttede mongo-objekt :

boolean auth = db.authenticate(myUserName, myPassword);

Hvis navnet og adgangskoden er gyldig for databasen, vil auth være sand. Ellers vil det være falsk. Du bør se på MongoDB-loggen for yderligere information, hvis den er tilgængelig.

De fleste brugere kører MongoDB uden godkendelse i et betroet miljø.

Konfiguration af godkendelse og sikkerhed

Autentificering gemmes i hver databases system.users-samling. For eksempel, på en database projectx, vil projectx.system.users indeholde brugeroplysninger.

Vi bør først konfigurere en administratorbruger til hele db-serverprocessen. Denne bruger er gemt under den særlige administratordatabase.

Hvis ingen brugere er konfigureret i admin.system.users, kan man få adgang til databasen fra localhost-grænsefladen uden godkendelse. Fra serveren, der kører databasen (og dermed på localhost), skal du køre databaseskallen og konfigurere en administrativ bruger:

$ ./mongo
> use admin
> db.addUser("theadmin", "anadminpassword")

Vi har nu en bruger oprettet til databaseadmin. Bemærk, at hvis vi ikke tidligere har autentificeret, skal vi nu, hvis vi ønsker at udføre yderligere handlinger, da der er en bruger i admin.system.users.

> db.auth("theadmin", "anadminpassword")

Vi kan se eksisterende brugere til databasen med kommandoen:

> db.system.users.find()

Lad os nu konfigurere en "almindelig" bruger til en anden database.

> use projectx
> db.addUser("joe", "passwordForJoe")

Lad os endelig tilføje en skrivebeskyttet bruger. (kun understøttet i 1.3.2+)

> use projectx
> db.addUser("guest", "passwordForGuest", true)


  1. Opdatering af et array i MongoDB ved hjælp af Java-driver

  2. Masseindsats i MongoDB ved hjælp af mongoose

  3. Skub til Laravel-kø fra uden for Laravel (NodeJS)

  4. Sådan bruges variabler i MongoDB Map-reducer kortfunktion