如何解决"not authorized for query on db.users" Mongoid
How to resolve "not authorized for query on db.users" Mongoid
我使用 Rails 4 和 Mongoid 4 创建了一个新的 Rails 应用程序。我在 运行 我的测试中遇到此错误 "not authorized for query on mydb.users"
:
RSpec.describe User, type: :model do
it "is invalid without a name" do
user = User.new(name: nil)
user.valid?
expect(user).to be_invalid
end
...
end
起初我以为这是 Mongoid 和 MongoDB 的授权问题,但我可以在控制台中访问 mongoldb/db/collection 而无需身份验证。
因为我是 Rspec 测试的新手,所以我不确定问题出在我的测试,mongoid 还是 mongodb.
有什么想法吗?
MongoDB 提供数据库级别的访问,它也存储在数据库级别。您需要提供对此数据库的访问权限,例如:
use mydb;
db.createUser(
{
user: "accountUser",
pwd: "password",
roles: [ "readWrite", "dbAdmin" ]
}
)
我使用 Rails 4 和 Mongoid 4 创建了一个新的 Rails 应用程序。我在 运行 我的测试中遇到此错误 "not authorized for query on mydb.users"
:
RSpec.describe User, type: :model do
it "is invalid without a name" do
user = User.new(name: nil)
user.valid?
expect(user).to be_invalid
end
...
end
起初我以为这是 Mongoid 和 MongoDB 的授权问题,但我可以在控制台中访问 mongoldb/db/collection 而无需身份验证。
因为我是 Rspec 测试的新手,所以我不确定问题出在我的测试,mongoid 还是 mongodb.
有什么想法吗?
MongoDB 提供数据库级别的访问,它也存储在数据库级别。您需要提供对此数据库的访问权限,例如:
use mydb;
db.createUser(
{
user: "accountUser",
pwd: "password",
roles: [ "readWrite", "dbAdmin" ]
}
)