MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Grails - Connectez-vous à une base de données MongoDB en utilisant l'authentification

J'ai rencontré ce même problème afin que je puisse aider à expliquer comment Mongo procède à l'authentification. Vous voyez ce que vous avez fait, c'est que vous avez créé un utilisateur administrateur dans la base de données d'administration, ce qui est formidable. Cependant, vous essayez de vous connecter à "mydb" directement avec l'utilisateur admin, ce qui n'est pas autorisé. Cela vous semble déroutant ? C'est parce que c'est. Pour mieux illustrer cela, voici un exercice simple :

  1. Créez un utilisateur pour la base de données d'administration comme ci-dessus.
  2. quitter le shell mongo
  3. exécuter la suite

Cela échouera. Mais essayez ceci à la place.

Cela fonctionnera car vous êtes passé à cette base de données avec le contexte d'administration et n'avez pas essayé de vous y connecter directement.

Donc, tout ce que vous avez à faire pour que cela fonctionne est de vous connecter directement à la base de données souhaitée et de créer un droit d'utilisateur dans cette base de données comme suit :

Mettez à jour votre fichier de configuration Grails avec ceci et je parie que cela fonctionnera.

Notez que seule la dernière partie est votre réponse et résout votre problème, mais depuis que j'ai eu du mal avec cela et que je l'ai compris à la dure, je pense que le contexte aide vraiment à mieux comprendre mongo auth.

Prenez soin de vous