【发布时间】:2015-10-01 03:05:27
【问题描述】:
我刚开始学习 MongoDB,我已经遇到了一个小问题。对于某些背景,我正在使用 Jetbrain 的 Webstorm 和 Mongo 插件。
现在,让我解释一下我的问题。
我还没有任何用户,我还在本地数据库中。然后我做了以下命令
use admin
db.createUser({
user: "testRead",
pwd: "password",
roles: ["read"]
})
所以现在我在管理数据库中,我创建了一个名为“testRead”的用户,其角色是:读取。此用户应该只能执行此链接中指定的命令:http://docs.mongodb.org/manual/reference/built-in-roles/。但它可以在我的程序上做更多的事情。
创建用户后(见上文),我使用 Ctrl + C 停止了服务器。然后我使用 mongod 命令从 CMD 重新启动它。
从 Webstorm 回到控制台后,我执行了以下命令:
db.auth("testRead", "password")
所以现在我“登录”到唯一角色是“读取”的“testRead”用户帐户。然后我测试了它。
我尝试了以下命令:
db.test.insert({
name: "test"
})
记住,它不应该这样做,所以我期待一个错误或什么,但它运行良好并返回了这个......
WriteResult({ "nInserted" : 1 })
这到底是怎么回事?
【问题讨论】:
-
您是否为您的数据库开启了身份验证?
标签: mongodb mean-stack