mongoDB身份验证

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mongoDB身份验证相关的知识,希望对你有一定的参考价值。

超级管理员

为了更安全的访问mongodb,需要访问者提供用户名和密码,于是需要在mongodb中创建用户

采用了角色-用户-数据库的安全管理方式

常用系统角色如下:
root:只在admin数据库中可用,超级账号,超级权限
Read:允许用户读取指定数据库
readWrite:允许用户读写指定数据库

创建超级管理用户

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

ubuntu环境下

修改/etc/mongodb.conf,设置auth=true

sudo vim /etc/mongodb.conf

/etc/mongodb.conf文件中本来就有配置auth=true,只需要删除前面的“#”即可。

重启MongoDB

service mongodb stop  #停止MongoDB服务(因为MongoDB是随开机是自启动的)
sudo service mongodb start #开启MongoDB服务

 

技术分享
 

上图提示你,未授权的管理员执行命令,显然安全验证检查开启成功了,此时你应该这样连接:mongo admin -u root -p 123456

或者你也可以这样去验证(前提是必须进入该用户对应的database才行,出现1代表成功):


技术分享
 

windos环境下

    • 创建管理员之后:
    • 然后重新启动mongodb,但是必须加上--auth选项,将.bat文件的内容修改为:mongod --auth --dbpath D:\软件安装\MongoDB\data\db







以上是关于mongoDB身份验证的主要内容,如果未能解决你的问题,请参考以下文章

与 mongodb 后端数据库的基于 Spring Security 的身份验证混淆

mongodb - 防止未经身份验证访问 mongodb

教程4 - 验证和权限

为MongoDB添加身份验证

使用 Hibernate OGM 的 MongoDb 身份验证

Golang 和 MongoDb 远程访问失败(服务器在 SASL 身份验证步骤返回错误:身份验证失败。)