排查 MongoDB SASL 驗證錯誤
在 GoLang 中,建立 MongoDB 連線通常需要驗證。有時,儘管提供了正確的憑證,開發人員仍會遇到錯誤「伺服器在 SASL 驗證步驟傳回錯誤:驗證失敗」。要解決此問題,考慮authenticationDatabase參數至關重要。
連接到需要明確設定authenticationDatabase的遠端MongoDB實例時會出現此問題。此參數指定對使用者進行身份驗證的資料庫。預設情況下,它設定為用戶嘗試存取的資料庫。但是,如果使用者對不同的資料庫有不同的權限,則需要指定authenticationDatabase。
要在GoLang中使用authenticationDatabase參數,只需修改DialInfo結構體:
mongoDialInfo := &mgo.DialInfo{ Addrs: []string{dbHost}, Database: dbName, Username: userName, Password: password, Timeout: 60 * time.Second, // Add the authenticationDatabase parameter AuthenticationDatabase: dbName, }
透過將AuthenticationDatabase 設定為與Database 相同的值,即明確指定用於驗證的資料庫。這可確保使用者的憑證已正確驗證並且身份驗證成功。
以上是為什麼我的 GoLang MongoDB 連線失敗並出現 SASL 驗證錯誤,如何使用「authenticationDatabase」修復它?的詳細內容。更多資訊請關注PHP中文網其他相關文章!