Maison >développement back-end >Golang >Pourquoi ma connexion GoLang MongoDB échoue-t-elle avec une erreur « Échec de l'authentification SASL » ?

Pourquoi ma connexion GoLang MongoDB échoue-t-elle avec une erreur « Échec de l'authentification SASL » ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-04 03:52:10314parcourir

Why is My GoLang MongoDB Connection Failing with a

Échec d'authentification lors de l'authentification SASL pour MongoDB dans GoLang

Lorsque vous tentez d'établir une connexion MongoDB à partir de GoLang, vous pouvez rencontrer une erreur indiquant " Le serveur a renvoyé une erreur à l'étape d'authentification SASL : échec de l'authentification. Ce problème concerne le processus d'authentification pour les connexions MongoDB.

Pour résoudre ce problème, vous devrez peut-être spécifier le paramètre de base de données d'authentification. Ce paramètre spécifie la base de données dans laquelle les informations d'identification sont stockées pour l'authentification. Généralement, il s'agit de la base de données "admin" pour MongoDB.

Votre code corrigé doit ressembler à ce qui suit :

dbName: = os.Getenv("ENV_DBNAME")
userName: = os.Getenv("ENV_DBUSER")
password: = os.Getenv("ENV_DBPASS")
dbHost: = os.Getenv("ENV_DBHOST")
mongoDialInfo: = & mgo.DialInfo {
 Addrs: [] string {
  dbHost
 },
 Database: dbName,
 Username: userName,
 Password: password,
 AuthenticationDatabase: "admin",   // Add this parameter
 Timeout: 60 * time.Second,
}
sess, err: = mgo.DialWithInfo(mongoDialInfo)
if (err != nil) {
 panic(err)

}

En spécifiant la base de données d'authentification, vous pouvez vous assurer que vos informations d'identification sont correctement authentifiées et la connexion MongoDB peut être établie avec succès.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn