MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Grails – Verbinden Sie sich mit einer MongoDB-Datenbank mithilfe der Authentifizierung

Ich bin auf dasselbe Problem gestoßen, damit ich erklären kann, wie Mongo die Authentifizierung durchführt. Sie sehen, was Sie getan haben, ist, dass Sie einen Admin-Benutzer in der Admin-Datenbank erstellt haben, was großartig ist. Sie versuchen jedoch, sich direkt mit dem Admin-Benutzer mit "mydb" zu verbinden, was nicht zulässig ist. Klingt verwirrend? Es ist, weil es ist. Zur besseren Veranschaulichung hier eine einfache Übung:

  1. Erstellen Sie einen Benutzer für die Admin-Datenbank wie oben beschrieben.
  2. verlasse die Mongo-Shell
  3. folgend ausführen

Das wird scheitern. Aber versuchen Sie stattdessen Folgendes.

Dies funktioniert, weil Sie mit dem Admin-Kontext zu dieser Datenbank gewechselt sind und nicht versucht haben, sich direkt damit zu verbinden.

Alles, was Sie tun müssen, damit dies funktioniert, ist, sich direkt mit der gewünschten Datenbank zu verbinden und ein Benutzerrecht in dieser Datenbank wie folgt zu erstellen:

Aktualisieren Sie Ihre Grails-Konfigurationsdatei damit und ich wette mit Ihnen, dass es funktionieren wird.

Beachten Sie, dass nur der letzte Teil Ihre Antwort ist und Ihr Problem löst, aber da ich damit zu kämpfen hatte und es auf die harte Tour herausgefunden habe, denke ich, dass der Kontext wirklich hilft, Mongo Auth besser zu verstehen.

Pass auf dich auf