This issue據說解決了最新版本的Moped,但仍然發生在我身上。 我有一個Rails 4.2的應用程序與Mongoid,創造了一個MongoDB的DB用戶與讀寫和的dbowner的角色,並在mong.conf文件中設置AUTH =真。
我可以使用Mongo shell或使用Mongo驅動程序的簡單Java應用程序,使用該用戶憑據在數據庫上執行任何操作。
但是,試圖與Mongoid進行身份驗證時,我總是得到這個錯誤:Rails Mongoid未通過身份驗證 - 失敗,錯誤13:「未授權查詢my_db.my_collection」
failed with error 13: "not authorized for query on my_db.my_collection"
這裏是我的mongoid.yml文件的相關部分:
production:
# Configure available database sessions. (required)
sessions:
# Defines the default session. (required)
default:
# Defines the name of the default database that Mongoid can connect to.
# (required).
database: my_db
hosts:
- localhost:27017
username: my_username
password: my_password
我也試過更換具有遠程服務器地址的主機並遠程訪問它(與禁用身份驗證選項配合使用),但未成功。 值得一提的是,我可以通過調試mpped/node.rb文件,在ensure_connected方法中看到@credentials變量包含我的用戶名和密碼 我在這裏丟失了什麼? 謝謝!
http://stackoverflow.com/questions/17376250/ruby-on-rails-mongoid-and-webfaction-not-authorized-for- query-error-16550 –
謝謝,但正如我所說我也使用readWrite角色,它從其他客戶端。這不是正確的答案 – Orr
如果您將用戶升級爲鍵入[dbOwner](http://docs.mongodb.org/manual/reference/built-in-roles/#dbOwner),錯誤是否仍然存在? – Drakes