本系列文章学习来源是技术胖的MogoDB系列
安装好MongoDB时,它为我们默认开了一个最高管理权限方便我们管理数据库,我们可以用mongo链接数据库,就是这个原因。但在实际开发中考虑到安全性问题,并一般不能使用这个用户,要对MongoDB的用户进行管理。
创建用户
创建用户可以用db.createUser方法来完成。
db.createUser({
user:"zyb",
pwd:"123456",
customData:{
name:'zyb',
email:'123456@qq.com',
age:23,
},
roles:['read']
})
还可以单独配置一个数据库的权限,比如我们现在要配置user数据库的权限为读写:
db.createUser({
user:"zyb",
pwd:"123456",
customData:{
name:'zyb',
email:'123456@qq.com',
age:23,
},
roles:[
{
role:"readWrite",
db:"user"
},
'read'
]
})
查找用户信息
db.system.users.find()
删除用户
db.system.users.remove({user:"zyb"})
建权
有时候我们要验证用户的用户名密码是否正确,就需要用到MongoDB提供的建权操作,也算是一种登录操作,不过MongoDB把这叫做建权。
db.auth("zyb","123456")
如果正确返回1,如果错误返回0。(Error:Authentication failed。)
启动建权
重启MongoDB服务器,然后设置必须使用建权登录。
mongod --auth
启动后,用户登录只能用用户名和密码进行登录,原来的mongo形式链接已经不起作用了,相应的用户权限也对应妥当,实际项目中我们启动服务器必须使用建权形式。
登录
如果在配置用户之后,用户想登录,可以使用mongo的形式,不过需要配置用户名密码:
mongom -u zyb -p 123456 127.0.0.1:27017/admin
这时候就可以用给定的权限对数据库操作了。