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!