Tôi đã gặp phải vấn đề tương tự này nên tôi có thể giúp giải thích cách Mongo thực hiện xác thực. Bạn thấy những gì bạn đã làm là bạn đã tạo một người dùng quản trị trong cơ sở dữ liệu quản trị, điều đó thật tuyệt. Tuy nhiên, bạn đang cố gắng kết nối trực tiếp với "mydb" với người dùng quản trị điều này không được phép. Nghe có vẻ khó hiểu? Đó là bởi vì nó là như vậy. Để minh họa điều này rõ hơn, đây là một bài tập đơn giản:
- Tạo người dùng cho db quản trị như bạn đã làm ở trên.
- thoát khỏi trình bao mongo
- chạy theo dõi
Điều đó sẽ thất bại. Nhưng hãy thử điều này thay thế.
Điều này sẽ hoạt động vì bạn đã chuyển sang db này với ngữ cảnh quản trị và không cố gắng kết nối trực tiếp với nó.
Vì vậy, tất cả những gì bạn cần làm để thực hiện công việc này là kết nối trực tiếp với DB bạn muốn và tạo người dùng ngay trong db đó như sau:
Cập nhật tệp cấu hình grails của bạn với tệp này và tôi cá với bạn rằng nó sẽ hoạt động.
Lưu ý rằng chỉ phần cuối cùng là câu trả lời của bạn và giải quyết vấn đề của bạn nhưng vì tôi đã vật lộn với điều này và tìm ra nó một cách khó khăn nên tôi nghĩ ngữ cảnh thực sự giúp hiểu mongo auth tốt hơn.
Chăm sóc