Heim > Backend-Entwicklung > Golang > Warum schlägt meine GoLang MongoDB-Verbindung mit einem SASL-Authentifizierungsfehler fehl und wie kann ich ihn mit „authenticationDatabase' beheben?

Warum schlägt meine GoLang MongoDB-Verbindung mit einem SASL-Authentifizierungsfehler fehl und wie kann ich ihn mit „authenticationDatabase' beheben?

Barbara Streisand
Freigeben: 2024-12-05 13:01:16
Original
307 Leute haben es durchsucht

Why is my GoLang MongoDB connection failing with a SASL authentication error, and how can I fix it using `authenticationDatabase`?

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,
}
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage