MongoDB学习总结(五) —— 安全认证
作为数据库软件,我们要确保数据的安全,不是谁都可以访问的,所以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})。

MongoDB学习总结(五) —— 安全认证的更多相关文章
- MongoDB学习之--安全和认证
MongoDB学习之--安全和认证 本文主要介绍两部分内容,Mongodb的安全检查配置以及安全认证操作: 虽然确保系统安全是系统管理员的重要工作,但是作为程序员了解其机制也是大有好处的,毕竟不是每个 ...
- Mongodb学习笔记五(C#操作mongodb)
mongodb c# driver(驱动)介绍 目前基于C#的mongodb驱动有两种,分别是官方驱动(下载地址)和samus驱动(下载地址). 本次我们只演示官方驱动的使用方法. 官方驱动文档查看 ...
- MongoDB学习(五)使用Java驱动程序3.3操作MongoDB快速入门
[引言] 毕竟现在MongoDB还是出于成长阶段,所以现在网上相关的资料很少,而且大部分还都是针对于MongoDB的老版本的.再加上MongoDB的频繁升级.重大更新等等,导致菜鸟学习的难度增大. 好 ...
- MongoDB学习笔记五—查询上
数据准备 { , "goods_name" : "KD876", "createTime" : ISODate("2016-12- ...
- MongoDB学习笔记五:聚合
『count』count是最简单的聚合工具,返回集合中的文档数量:> db.foo.count()0> db.foo.insert({"x" : 1})> db. ...
- MongoDB学习(五)Linux环境安装MongoDB
一. 下载 从http://www.mongodb.org/downloads地址中下载:mongodb-linux-x86_64-2.4.11.tar 二. 安装 1>设置mongoDB ...
- MongoDB学习笔记(五) MongoDB文件存取操作
由于MongoDB的文档结构为BJSON格式(BJSON全称:Binary JSON),而BJSON格式本身就支持保存二进制格式的数据,因此可以把文件的二进制格式的数据直接保存到MongoDB的文档结 ...
- MongoDb学习(五)---gridfs --http文件下载
现在网上的文章都是用的低版本的jar包,而最新的jar包,下载的方法进行了改变.在网上也没找到好的方法.就用原生的方法进行下载, 我也不知道对不对.反正可以下载了.就先这样吧.后期准备还是用低版本的开 ...
- MongoDb学习(五)--Gridfs--上传下载
版本 <dependency> <groupId>org.springframework.data</groupId> <artifactId>spri ...
随机推荐
- cygwin的安装,vi的使用,gcc,g++的使用(转)
源:cygwin的安装,vi的使用,gcc,g++的使用 Gcc的Makefile简单使用
- php传输大数据大文件时候php.ini相关设置
post_max_size which is directly related to the POST size---针对采用post上传的,大文件,此项为关键 upload_max_filesize ...
- el5,6,7的ntpdate服务
在el5里没有ntpdate服务 在el6里有ntpdate服务 在el7里有ntpdate服务
- STM32 USB 问题汇总(转)
源:STM32 USB 问题汇总 汇总1:STM32的USB例程修改步骤,来自http://blog.csdn.net/cy757/archive/2010/01/01/5117610.aspx 以下 ...
- IOS开发中如何给UIImageView添加点击事件
1.先创建一个UIImageView控件: photeImageView = [[UIImageView alloc]init]; photeImageView.frame = CGRectMake( ...
- webx--petstore
配置对应环境,运行petstore 通过官网给的命令行方法,来运行petstore petstore是java ee的经典学习案例,下载链接 如何运行呢? 参见官网给的指导:webx官网 git cl ...
- 7 款华丽的 HTML5 Loading 动画特效
我们在进行大数据的传输或者复杂操作的等待时,最好能有一个Loading等待的小动画提示用户.本文将为大家分享一些超华丽的基于HTML5的Loading加载动画特效,希望你会喜欢. 1.HTML5 Ca ...
- nginx集群tomcat
一.准备工作 下载nginx,http://nginx.org/,本文采用nginx-1.8.0,下载之后直接解压,免安装 下载tomcat,以配置3台tomcat服务器做负载均衡为例 二.修改tom ...
- ThinkPHP框架开发的应用的标准执行流程
用户URL请求 调用应用入口文件(通常是网站的index.php) 载入框架入口文件(ThinkPHP.php) 记录初始运行时间和内存开销 系统常量判断及定义 载入框架引导类(Think\Think ...
- JavaSwing JScrollPane的使用
JavaSwing JScrollPane的使用: 参考:http://duyz.blog.ifeng.com/article/340649.html package com.srie.test; i ...