Mongodb账号密码模式的基本认证

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mongodb账号密码模式的基本认证相关的知识,希望对你有一定的参考价值。

    背景: 原先使用的MongoDB并没有使用账号密码的认证方式去登陆,使用的是非认证方式;现需要将其配置为以账号密码的方式去登陆和使用,配置步骤如下:

一、配置普通权限用户

1.使用MongoBooster连接上MongoDB的Server

2.执行以下脚本,创建管理用户的账户aa

use admin
db.createUser({ 
user:"aa", 
pwd:"aa",
roles:[{role:"userAdminAnyDatabase",db:"admin"}]
})


3. 开始服务器认证模式,登陆至MongoDb服务器,在mongodb.config文件中添加auth=true,然后重启MongoDB服务

4.在MongoBooster中使用账号aa连接上MongoDb的Server

5.执行以下脚本,为test创建具有读写权限的用户dfy

use test
db.createUser({
  user:"dfy",
  pwd:"dfy",
  roles:[{role:"readWrite",db:"sc"}]
})


user:用户名,pwd:密码,roles:指定用户角色,可以用一个空数组给新用户设定空角色;在roles字段,可以指定内置角色和用户定义的角色。role里的角色可以选:

Built-In Roles(内置角色):
1. 数据库用户角色:read、readWrite;
2. 数据库管理角色:dbAdmin、dbOwner、userAdmin;
3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
4. 备份恢复角色:backup、restore;
5. 所有数据库角色:readAnyDatabase、readWriteAnyDatabase,userAdminAnyDatabase、dbAdminAnyDatabase
6. 超级用户角色:root  
7. 内部角色:__system

二、创建超级用户(不建议使用)

1.使用MongoBooster连接上MongoDB的Server,执行下以脚本,创建超级用户CC

use admin
db.createUser({
user:"CC",
pwd:"CC",
roles:[{role:"root",db:"admin"}]
})


2.按配置普通权限用户中的步骤3开始服务器的认证模式即可,账号CC具有超级管理员的权限


三、如何在Web中使用新配置的MongoDB的账号密码?

  1. 在MongoBooster的连接配置页面,点击To URI按钮,可以看到获得当前的连接串,新的连接串中包含账号密码信息

  2. 在Web.config中,将原先的MongoDB的连接串替换为当前新的连接串即可


       



本文出自 “不会撒娇的猫” 博客,请务必保留此出处http://alicedai.blog.51cto.com/5589624/1865121

以上是关于Mongodb账号密码模式的基本认证的主要内容,如果未能解决你的问题,请参考以下文章

程序需要在有auth认证的mongodb下运行eval函数或命令时提示无权限

MongoDB—— 安全认证

如何在linux中部署mongodb并设置连接认证

MongoDB忘记密码怎么恢复

MongoDB添加用户认证

TortoiseGit:拉代码密码错误remote: Coding 提示: Authentication failed! 认证失败,请确认您输入了正确的账号密码