caoruiy‘s blog

Wisdom outweighs any wealth

Yii2连接mongo权限问题(AuthenticationException)

初次使用yii2连接mongodb时可能会出现权限不足的情况。代码出现AuthenticationException的异常。这个问题的出现,主要是设置的MongoDB用户权限错误。

正确的设置MongoDB用户的方式是,切换到相应的数据库,为该数据库添加权限合理的用户。

为mongoDB添加一个具有管理其他数据库的超级用户

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

demo数据库添加一个具有读写权限的用户

use demo
db.createUser({
    user : 'rwUser',
        pwd : 'pwd',
        roles:[{
            role : 'readWrite',
                db : 'demo'
        }]
})

所有,出现yii2连接MongoDB权限不足的问题,就是没有在指定数据库中添加权限合理的用户。

最大的可能原因是你把用户建在了admin数据库中,而不是指定数据库。

出现该问题,可以参见网上类似问题:
1. yii2连接MongoDb3.0出错,Authentication failed 。
2. Yii2连接mongo权限问题

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注