作为数据库软件,我们要确保数据的安全,不是谁都可以访问的,所以mongodb也像其他的数据库软件一样可以采用用户验证的方法,

mongodb 3.0之前的版本提供了addUser方法向不同的数据库添加可信任的用户,mongodb 3.0开始之后的版本则改成了createUser方法,

我这里用的最新的版本,所以需要使用createUser方法。

下面我们重新建立一个mongodb数据库。同样以windows服务的形式开启。

> 创建用户

服务创建成功并且启动成功,我们开启客户端。使用createUser创建用户。

因为createUser方法与之前addUser方法差别很大,创建用户需要添加不同的角色权限。

这里注意一点就是在admin数据库中添加用户是超级用户,也叫数据库管理员,它可以操作任何数据库。

具体权限有以下:

read:允许用户读取指定数据库

readWrite:允许用户读写指定数据库

dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile

userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户

clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。

readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限

readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限

userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限

dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。

root:只在admin数据库中可用。超级账号,超级权限。

下面我们通过简单的实例介绍一下。

上面我们创建了admin超级用户"super"以及product集合的用户"derek",并且具备读写及管理的权限。

> 开启服务验证

下面我们开启服务的用户验证模式,使用--auth参数。

我们开启了服务验证模式,下面我们看下实例。

我们看到没有验证之前,我们无法对product集合进行相应的操作,所以我们通过db.auth方法来进行验证,结果返回1表示验证通过,然后就可以对集合进行操作了。

当我们切换到admin的超级用户时,我们可以对任意集合进行操作。

以上是简单的建立了两个用户,上面介绍MongoDB 3.0开始之后建立用户包含的很多中角色role,根据概念很好理解,大家根据需求可以自己尝试下,我在这里就不一一列举了。

另外查询有哪些用户,用db.system.users.find()命令。如果需要删除用户则使用db.system.users.remove({name,value})。

最新文章

  1. 完美解决,浏览器下拉显示网址问题 | 完美解决,使用原生 scroll 写下拉刷新
  2. Java程序性能优化——让你的java程序更快、更稳定
  3. java中String的一些方法
  4. sql常见的面试题
  5. 【转】C# 中的委托和事件
  6. MFC中添加用户自定义消息
  7. tyvj1014 - 乘法游戏 ——记忆化搜索DP
  8. s3cmd的安装与使用
  9. 服务器端启动soket多线程
  10. C#HttpWebResponse请求常见的状态码
  11. 03(1) Gaussians,GMMs基础
  12. AB PLC分类
  13. Oracle查看存储过程最后编辑时间
  14. Shell 批量修改主机 用户密码
  15. axios封装get方法和post方法
  16. 《JavaScript高级程序设计》笔记:JavaScript简介(一)
  17. Go学习笔记(一)安装Go语言环境
  18. python入门第二篇
  19. conEmu的使用笔记
  20. kernel dump Analysis

热门文章

  1. EnablePrefetcher注册表项的修改与电脑提速
  2. ios 简单的plist文件读写操作(Document和NSUserDefaults)
  3. Treap初步
  4. 博客停更及OI退役公告
  5. *CCF 201612-2 工资计算(80)
  6. 4)Javascript设计模式:Decorator模式
  7. 安卓Visibility属性
  8. 代码中使用bitmap资源并加载到控件上
  9. Python关键字yield的解释
  10. ExcelUtil