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, }
By AuthenticationDatabase を Database と同じ値に設定すると、認証に使用するデータベースを明示的に指定することになります。これにより、ユーザーの資格情報が正しく検証され、認証が成功することが保証されます。
以上がGoLang MongoDB 接続が SASL 認証エラーで失敗するのはなぜですか? `authenticationDatabase` を使用してそれを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。