【发布时间】:2019-09-29 20:12:41
【问题描述】:
如果您想向 MongoDB 数据库添加身份验证以仅允许允许的用户访问它,并且每个用户都具有特定的权限。如何开始?
【问题讨论】:
标签: javascript mongodb authentication nosql
如果您想向 MongoDB 数据库添加身份验证以仅允许允许的用户访问它,并且每个用户都具有特定的权限。如何开始?
【问题讨论】:
标签: javascript mongodb authentication nosql
在创建用户时,将第三个参数添加为角色名称数组。在 shell 中查看以下内容:
sudo mongod --auth
在新终端中运行以下命令:
mongo
use admin
db.createUser({user: "myname", pwd: "mypass", roles: ["userAdminAnyDatabase"]})
然后用户可以使用我们刚刚使用以下表达式注册的凭据登录:
db.auth("myname", "mypass")
或者ypu可以使用以下方法登录:
mongo -u myname -p mypass --authenticationDatabase admin
如果您想创建一个用户来访问一个特定的数据库,请遵循以下表达式: 进入数据库
use mydb
创建用户并分配角色
db.createUser({user: "yourname", pwd: "yourpass", roles: ["readWrite"]})
现在从第一个管理员用户注销
db.logout()
使用新用户登录
mongo -u yourname -p yourpass --authenticationDatabase mydb
进入mydb数据库
use mydb
然后就可以对mydb数据库进行读写操作了
db.mycollection.insertOne({name: "Vinit Khandelwal"})
然后运行以下命令:
db.updateUser("mydb", {roles: ["readWrite", {role: "readWrite", db: "yourdb"}]})
这使用户拥有readWrite 访问mydb 以及yourdb 数据库的权限
【讨论】: