MongoDB登录验证及用户管理
一、超级管理员创建及开启登录验证
如果MongoDB要开启登录验证,必须在开启登录验证之前先创建好超级管理员,否则无法登录数据库!
例如,创建一个超级管理员admin,关联给admin数据库,角色设置为root(超级管理员)
首先,进入到目标库admin,use admin
然后,输入指令 db.createUser({user:"admin",pwd:"123456",roles:["root"]})

创建完管理员用户之后,就可以开启登录验证了,进入配置文件c:\MongoDB\config\mongodb.conf,
添加 auth=true即可开启登录验证,如果要开启远程登录,需要添加 bind_ip=0.0.0.0,修改写重启MongoDB服务即可。


开启服务之后,就可以通过管理员登录了,

二、添加数据库普通用户
如果要给指定的数据库添加登录用户,先要切换到数据库,再创建用户,用户需要绑定数据库,还有角色
常用到的角色介绍:
read:允许用户读取指定数据库
readWrite:允许用户读写指定数据库
dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
root:只在admin数据库中可用。超级账号,超级权限
例如创建test用户,具有对test数据库读写权限
首先,进入到目标库test,use test
然后,输入指令 db.createUser({user:"test",pwd:"123456",roles:[{role:"readWrite",db:"test"}]})

三、查看所有用户
用超级管理员登录切换到admin数据库,通过指令db.system.users.find()查看所有用户所有信息,
通过指令db.system.users.find({},{user:1,roles:1,_id:0})查看所有用户简要信息

四、修改用户
4.1修改用户密码
例如,修改用户test的密码为123
首先,进入目标库test,use test
然后,输入指令 db.changeUserPassword("test","123")

4.2修改用户角色
添加用户角色
例如,给用户test添加readWrite权限
首先,进入目标库test,use test
然后,输入指令 db.grantRolesToUser("test",[{role:"readWrite",db:"test"}])

删除用户角色
例如,删除用户test的readWrite权限
首先,进入目标库test,use test
然后,输入指令 db.revokeRolesFromUser("test",[{role:"readWrite",db:"test"}])

五、删除用户
例如,删除用户test
首先,进入到目标库test,use test
然后,输入指令 db.dropUser("test")

MongoDB登录验证及用户管理的更多相关文章
- Django电商项目---完成登录验证和用户中心(个人信息)day3
登录验证的实现 背景说明: 用户在商品界面选择商品后,在点击购物车或者结算订单之前 需要完成用户的登录验证,这里用装饰器来完成 创建装饰器类: df_user/user_decorator.py ...
- Linux 开机、重启和用户登录注销、用户管理、用户组
l 关机&重启命令 基本介绍: shutdown –h now 立该进行关机 shudown -h 1 "hello, 1 分钟后会关机了" shutdown –r n ...
- mongodb 学习笔记05 --用户管理
csdn的markdown编辑器真有够烂的,这篇文章又给弄丢了 启用认证 mongod 启动默认没有开启权限,你须要指定 –auth 启动.或者在配置文件里设置security.authorizati ...
- Springboot 整合ApachShiro完成登录验证和权限管理
1.前言 做一个系统最大的问题就是安全问题以及权限的问题,如何正确的选择一个安全框架对自己的系统进行保护,这方面常用的框架有SpringSecurity,但考虑到它的庞大和复杂,大多数公司还是会选择 ...
- Linux 开机、重启和用户登录注销、用户管理
关机&重启命令 shutdown shutdown -h now:表示立即关机 shutdown -h 1:表示1分钟后关机 shutdown -r now:立即重启 halt 就是直接使用, ...
- ASP.NET Core 一步步搭建个人网站(4)_主页和登录验证
上章节我们已经定制好动态配置的菜单,用户登录网站的第一步就是进入首页内容,那我们先搭建一下我们的首页内容.想着自己的网站内容主要是个人博客类型,所以,首页就展示博主本人的一些基本信息吧,哈哈.当然,做 ...
- 【笔记】vue+springboot前后端分离实现token登录验证和状态保存的简单实现方案
简单实现 token可用于登录验证和权限管理. 大致步骤分为: 前端登录,post用户名和密码到后端. 后端验证用户名和密码,若通过,生成一个token返回给前端. 前端拿到token用vuex和lo ...
- Django学习系列之重写User模型和登录验证
重写User模型 Django内置的User模型可能不适合某些项目,我们可能要基于内置的添加一些字段 创建users app startapp users 修改settings.py配置文件,覆盖默认 ...
- Linux常用命令5 用户管理命令
1.用户管理命令:useradd 所在路径:/usr/bin/useradd 执行权限:root 语法:useradd 用户名 功能描述:添加新用户 例如:useradd hzw userd ...
随机推荐
- Hive命令 参数
1.hive -h 显示帮助 2.hive -h hiveserverhost -p port 连接远程hive服务器 3.hive --define a=1 --hivevar b= ...
- git常用命令简集
基础操作: 初始化git仓库: git init 提交到暂存区: git add “filename” 提交到分支: git commit -m "注释" 工作区状态: git s ...
- PHP接收IOS post过来的json数据无法解析的问题
在本地环境下运行解析OK 换到线上的环境解析失败 开始怀疑各种编码问题,解决均无效. 查看phpinfo 发现magic_quotes_gpc =on 终于找到问题所在,更改php.ini文件 mag ...
- 避免重复插入数据sql server
insert into TN_JOBS(JAVA_ID,SERVER_IP,SERVER_PORT,JOB_CODE,JOB_NAME,JOB_START_TIME,JOB_MSG,JOB_STATU ...
- [翻译] USING GIT IN XCODE [5] 在XCODE中使用GIT[5]
USING GIT IN XCODE USING BRANCHES Branches can be a very effective tool to isolate new features or e ...
- Array对象常用方法
不改变原数组: 1.concat() 连接两个或多个数组 不改变原数组 返回被连接数组的一个副本 2.join() 把数组中所有元素放入一个字符串 不改变原数组 返回字符串 3.slice() ...
- 关于移动端APP开发-字体样式变大问题
前两天在写App项目的时候发现一个问题,就是明明css写的样式是14px,刚开始在页面显示时并未出现问题,可是内容一多,字体突然变大了. what?,不明所以,在各大网站上找了好久才知道是浏览器的字体 ...
- React Native 基础报错及解决方案记录
刚开始上手RN,碰到很多坑,记录一下.碰到问题多去看看github上面的issue! 启动命令react-native run-ios报错 1.:xcrun: error: unable to fin ...
- arcgis 10.1 导入数据到oracle 发布地图服务
机器配置说明 数据库服务器 系统:linux 软件:oracle 11G 64位 Arcgis server服务器 系统:win7 专业版 软件:arcgis server 10.1.win64_11 ...
- SharePoint 改动passwordWeb Part部署方案
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/u012025054/article/details/31773231 SharePoint 改动pa ...