ホームページ > バックエンド開発 > Golang > GoLang MongoDB 接続が SASL 認証エラーで失敗するのはなぜですか? `authenticationDatabase` を使用してそれを修正するにはどうすればよいですか?

GoLang MongoDB 接続が SASL 認証エラーで失敗するのはなぜですか? `authenticationDatabase` を使用してそれを修正するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-12-05 13:01:16
オリジナル
315 人が閲覧しました

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

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート