只是一个关于mongodb用户帐户的快速问题。
我在管理数据库中配置了以下用户:
> use admin
switched to db admin
> db.system.users.find({ user : "foobar_admin"}).pretty()
{
"_id" : ObjectId("52024f53e513b080573d59de"),
"otherDBRoles" : {
"test" : [
"dbAdmin",
"readWrite"
]
},
"pwd" : "<pwdhash>",
"roles" : [
"read"
],
"user" : "foobar_admin"
}
>
和在测试数据库
上配置的以下用户> use test
switched to db test
> db.system.users.find({ user : "abc_admin"}).pretty()
{
"_id" : ObjectId("52024f97e513b080573d59e1"),
"pwd" : "<pwdhash>",
"roles" : [
"readWrite"
],
"user" : "foobar_admin"
}
>
admin数据库中的权限设置是否覆盖测试数据库中的权限设置?IE,是否foobar_admin有dbAdmin和读写测试数据库?一个文档是否优先于另一个文档?
对于任何想知道的人来说,凭证都不优先,而是根据用户身份验证到的数据库应用相关角色。
在上面的例子中,
- 如果
foobar_admin
用户对admin
数据库进行身份验证,则该用户将拥有dbAdmin
和readWrite
角色 - 如果
foobar_admin
用户对test
数据库进行身份验证,则该用户将只具有readWrite
角色
文档(http://docs.mongodb.org/manual/reference/privilege-documents/)似乎没有明确说明这一点。
谢谢你容忍我的胡言乱语!:)