【发布时间】:2015-07-04 17:33:07
【问题描述】:
This issue 据说可以解决最新版本的助力车,但仍然发生在我身上。
我有一个带有 Mongoid 的 rails 4.2 应用程序,为具有 readWrite 和 dbOwner 角色的 MongoDB DB 创建了一个用户,并设置了 auth=true在 mong.conf 文件中。
我可以使用 Mongo shell 或使用 Mongo 驱动程序的简单 Java 应用程序使用该用户凭据在数据库上执行任何操作。
但是,当尝试使用 Mongoid 进行身份验证时,我总是收到此错误:
因错误 13 失败:“未授权查询 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 变量包含我的用户名和密码 我在这里想念什么? 谢谢!
【问题讨论】:
-
谢谢,但正如我所说,我也使用了 readWrite 角色,它适用于其他客户端。这不是正确的答案
-
如果您升级用户输入dbOwner 是否还会出现错误?
-
@Orr :您找到解决问题的方法了吗?
-
@Drakes 实际上用户已经拥有 dbOwner 和 readWrite 权限,而不是我第一次说的 dbAdmin 和 readWrite 权限,所以这并没有解决它......
标签: ruby-on-rails mongodb mongoid moped nosql