Fehlerbehebung bei MongoDB-SASL-Authentifizierungsfehlern
In GoLang erfordert der Aufbau einer MongoDB-Verbindung häufig eine Authentifizierung. Manchmal stoßen Entwickler auf die Fehlermeldung „Der Server hat beim SASL-Authentifizierungsschritt einen Fehler zurückgegeben: Authentifizierung fehlgeschlagen“, obwohl sie korrekte Anmeldeinformationen angegeben haben. Um dieses Problem zu beheben, ist es wichtig, den Parameter „authenticationDatabase“ zu berücksichtigen.
Das Problem tritt auf, wenn eine Verbindung zu einer Remote-MongoDB-Instanz hergestellt wird, für die „authenticationDatabase“ explizit festgelegt werden muss. Dieser Parameter gibt die Datenbank an, die den Benutzer authentifiziert. Standardmäßig ist es auf die Datenbank eingestellt, auf die der Benutzer zugreifen möchte. Wenn der Benutzer jedoch unterschiedliche Berechtigungen für verschiedene Datenbanken hat, ist es notwendig, die AuthenticationDatabase anzugeben.
Um den AuthenticationDatabase-Parameter in GoLang zu verwenden, ändern Sie einfach die DialInfo-Struktur:
mongoDialInfo := &mgo.DialInfo{ Addrs: []string{dbHost}, Database: dbName, Username: userName, Password: password, Timeout: 60 * time.Second, // Add the authenticationDatabase parameter AuthenticationDatabase: dbName, }
By Wenn Sie die AuthenticationDatabase auf denselben Wert wie die Datenbank setzen, geben Sie explizit die Datenbank an, die für die Authentifizierung verwendet werden soll. Dadurch wird sichergestellt, dass die Anmeldeinformationen des Benutzers korrekt validiert werden und die Authentifizierung erfolgreich ist.
Das obige ist der detaillierte Inhalt vonWarum schlägt meine GoLang MongoDB-Verbindung mit einem SASL-Authentifizierungsfehler fehl und wie kann ich ihn mit „authenticationDatabase' beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!