Rumah >pembangunan bahagian belakang >Golang >Mengapa sambungan GoLang MongoDB saya gagal dengan ralat pengesahan SASL dan bagaimana saya boleh membetulkannya menggunakan `authenticationDatabase`?

Mengapa sambungan GoLang MongoDB saya gagal dengan ralat pengesahan SASL dan bagaimana saya boleh membetulkannya menggunakan `authenticationDatabase`?

Barbara Streisand
Barbara Streisandasal
2024-12-05 13:01:16360semak imbas

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

Menyelesaikan masalah Ralat Pengesahan SASL MongoDB

Dalam GoLang, mewujudkan sambungan MongoDB selalunya memerlukan pengesahan. Kadangkala, pembangun menghadapi ralat "pelayan mengembalikan ralat pada langkah pengesahan SASL: Pengesahan gagal," walaupun memberikan bukti kelayakan yang betul. Untuk menyelesaikan isu ini, adalah penting untuk mempertimbangkan parameter authenticationDatabase.

Isu timbul apabila menyambung ke tika MongoDB jauh yang memerlukan authenticationDatabase ditetapkan secara eksplisit. Parameter ini menentukan pangkalan data yang mengesahkan pengguna. Secara lalai, ia ditetapkan kepada pangkalan data yang cuba diakses oleh pengguna. Walau bagaimanapun, jika pengguna mempunyai keistimewaan yang berbeza untuk pangkalan data yang berbeza, adalah perlu untuk menentukan pangkalan data pengesahan.

Untuk menggunakan parameter pangkalan data pengesahan dalam GoLang, cuma ubah suai struct DialInfo:

mongoDialInfo := &mgo.DialInfo{
    Addrs: []string{dbHost},
    Database: dbName,
    Username: userName,
    Password: password,
    Timeout: 60 * time.Second,
    // Add the authenticationDatabase parameter
    AuthenticationDatabase: dbName,
}

Oleh menetapkan AuthenticationDatabase kepada nilai yang sama seperti Pangkalan Data, anda secara eksplisit menyatakan pangkalan data untuk digunakan untuk pengesahan. Ini memastikan bahawa bukti kelayakan pengguna disahkan dengan betul dan pengesahan berjaya.

Atas ialah kandungan terperinci Mengapa sambungan GoLang MongoDB saya gagal dengan ralat pengesahan SASL dan bagaimana saya boleh membetulkannya menggunakan `authenticationDatabase`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn