Mongodb常用的身份验证方式
1.介绍
不管数据库是在多安全的环境或者本地环境,给数据库建立一个安全的环境是很有必要的。
Mongodb提供了一系列的安全功能,这里介绍一种很常用的身份验证方式。
2.开启验证
默认情况下,只要在启动数据库的时候没有加上--auth选项,就是没有身份验证功能的,所有客户端都可以进行所有权限的操作。
如果加上过后,我们就可以通过安全的身份验证连接数据库。如果要在数据库中进行身份验证,可以通过db.auth(username,password),如果验证成功则返回1,反之。
3.建立用户
建立用户我们可以通过db.createUser() 方法来建立用户,比如下面这样:
db.createUser({user:'username',pwd:'password',roles:[ {role:'read',db:'test'} ]});
db.createUser方法的接受一个对象,里面的user代表用户名,pwd代表密码,而roles是一个数组可以接受多个对象,每个对象可以对应作用于的数据库,其中的role字段代表对作用的数据库的权限,官方规定了一些列的内置角色,可以通过文档查询。
4.删除用户
删除用户需要具有权限的用户进行操作,通过db.dropUser()方法进行,接受一个字符串,这个字符串就是用户名:
db.dropUser('user1');
5.获取用户
可以通过db.getUser()方法来获取用户信息,同样它接受一个字符串,字符串为用户名:
db.getUser('user1');