当你的MongoDB数据库在本地使用时不需要账号密码没问题,但是当部署到服务器时是不能没有身份验证的。今天学习MongoDB用户配置,在此稍作记录。
MongoDB中的用户类型/user
常用MongDB的用户类型
- 超级管理员:拥有最高权限,可以对任何数据库进行任意操作
- 管理员用户:拥有当前数据库最高权限,可以对当前库进行任意操作
- 数据库用户:只拥有对当前数据库数据的读写权利
MongoDB中的角色/权限/role
创建用户的时候需要指定用户的对于某个数据库是什么角色
可以理解为对某个数据库的权限设置
Read:允许用户读取指定数据库
readWrite:允许用户读写指定数据库
dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
root:只在admin数据库中可用。超级账号,超级权限
用户相关的方法
https://docs.mongodb.com/manual/core/security-users/
|
|
用户验证登陆的两种方式
注意点:验证的用户的时候,必须在该用户创建的数据库验证
|
|
1.连接数据库时验证
权限验证一定要在建立该账户的数据库上进行
|
|
2.连接之后再进行验证
|
|
实践
1.创建超级管理员用户
|
|
|
|
###