背景: 原先使用的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的账号密码?
在MongoBooster的连接配置页面,点击To URI按钮,可以看到获得当前的连接串,新的连接串中包含账号密码信息
在Web.config中,将原先的MongoDB的连接串替换为当前新的连接串即可
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com