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

Grails - Connettiti a un database MongoDB usando l'autenticazione

Mi sono imbattuto in questo stesso problema, quindi posso aiutare a spiegare come Mongo esegue l'autenticazione. Vedi quello che hai fatto è che hai creato un utente amministratore nel database di amministrazione, il che è fantastico. Tuttavia stai tentando di connetterti a "mydb" direttamente con l'utente amministratore che non è consentito. Suona confuso? È perché lo è. Per illustrarlo meglio ecco un semplice esercizio:

  1. Crea un utente per il db di amministrazione come hai fatto sopra.
  2. esci dalla shell mongo
  3. segui seguendo

Quello fallirà. Ma prova invece questo.

Funzionerà perché sei passato a questo db con il contesto di amministrazione e non hai provato a connetterti direttamente ad esso.

Quindi tutto ciò che devi fare per farlo funzionare è connetterti direttamente al DB che desideri e creare un utente direttamente in quel db come segue:

Aggiorna il tuo file di configurazione di Grails con questo e scommetto che funzionerà.

Nota che solo l'ultima parte è la tua risposta e risolve il tuo problema, ma dal momento che ho lottato con questo e l'ho capito nel modo più difficile, penso che il contesto aiuti davvero a capire meglio mongo auth.

Abbi cura di te