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)