Začal jsem používat MongoDB s ověřováním. Podle dokumentace jsem použil výjimku localhost k vytvoření administrátora s jedinou rolí userAdminAnyDatabase . To vše dobře dopadlo. Když spustím klienta „mongo“ a autorizuji proti adminovi databáze po použití že databázi dostanu číslo 1 označující, že autorizace byla úspěšná. Jakýkoli příkaz, který se pokusím provést, však způsobí „neoprávněnou“ chybu, a to i při pokusu o zobrazení kolekcí v databázi správce, proti kterým jsem se právě autorizoval.
Může mi někdo říct, proč tomu tak je a jak to mohu opravit? Momentálně běžím bez ověření, dokud to neopravím.
Přijatá odpověď:
userAdminAnyDatabase role (a userAdmin role, které je rozšířením) jednoduše dává vašemu uživateli oprávnění číst a zapisovat do system.users kolekce pro správu uživatelů databáze. Nedovoluje uživateli číst nebo zapisovat do skutečných kolekcí databáze. K tomu musíte udělit read nebo readWrite role.
Viz Role uživatelských oprávnění v MongoDB a Přidání uživatele do databáze.