Narazil jsem na stejný problém, takže mohu pomoci vysvětlit, jak Mongo provádí ověřování. Vidíte, co jste udělali, že jste vytvořili administrátora v databázi administrátorů, což je skvělé. Pokoušíte se však připojit k "mydb" přímo s uživatelem admin, což není povoleno. Zní to zmateně? Je to proto, že je. Abychom to lépe ilustrovali, zde je jednoduché cvičení:
- Vytvořte uživatele pro admin db, jako máte výše.
- opusťte mongo shell
- běhat sledování
To selže. Ale zkuste to místo toho.
Bude to fungovat, protože jste přepnuli na tuto databázi v kontextu správce a nepokusili jste se k ní připojit přímo.
Takže vše, co musíte udělat, aby to fungovalo, je připojit se přímo k požadované databázi a vytvořit uživatelské právo v této databázi takto:
Aktualizujte svůj konfigurační soubor grails tímto a vsadím se, že to bude fungovat.
Všimněte si, že pouze poslední část je vaše odpověď a řeší váš problém, ale protože jsem se s tím potýkal a přišel na to těžce, myslím, že kontext skutečně pomáhá lépe pochopit mongo auth.
Dávejte pozor