不加auth的话,网站运行是没问题的。
在admin加了auth后,用mongo测试了下,是通过验证的 db.getSiblingDB(“admin”).runCommand( { createUser: “abc”,pwd: “12345”,customData: { adminId: 12345 },roles: [{ role: “userAdminAnyDatabase”, db: “admin” },{ role: “dbAdminAnyDatabase”, db: “admin” },“readWrite”],writeConcern: { w: “majority” , wtimeout: 5000 }} )
在另外一个数据库B也单独加了权限 链接都没问题
但connect-session报了个错
网上找了好多方法都不行,能启动,但是一运行就报错。 有人说是因为connect-session没启动就开始运行listen了。 但是我把listen写在, 也不行,程序进不了function里,但是如果我不加auth的时候,是可以执行function里的。
求各位大神帮忙看看什么问题。
这种呢?
app.use(express.session({
secret: "roflmao",
store: new MongoStore({
url: 'mongodb://user:pass@127.0.0.1:20578/db?authSource=admin',
auto_reconnect: true
})
}));
之前也遇到过类似的,把connect-mongo升级成最新的试试
@luoyjx 还是不行。
@DavidCai1993 已经是最新版本了
我把connect-mongo那个抛出错误的注释
得到的具体次错误信息是,not authorized for query on xxx.sessions
在connect-mongo.js里面打印username和password都正确, 在mongo上db.auth出来也是1 但是这里的result 竟然是false err是auth fail
其他模块都验证过了,auth都没问题,就connet-mongo这个模块有问题
db.authenticate 一直返回auth fail…
好累。。。明天继续
单独写了段db.authenticate的去验证。。。。竟然成功了。。。
我无语了,找到原因了。。。 connect-mongo自导的mongodb版本有问题。。。。 引用自己重新install的就没问题了。。。