使用mongoStore的快速会话和数据库身份验证

时间:2015-03-05 19:20:13

标签: javascript node.js mongodb session

我有一个包含如下配置值的对象:

var db = {
  name: "Auth",
  port: "27017",
  host: "localhost",
  user: "testUser",
  pass: "testPassword",  
  secret: "62y4q8C03l3t"
}

现在我使用express-sessionconnect-mongostore在我的MongoDB中存储会话数据。

app.use(session({
  resave: true,
  secret: db.secret,
  saveUninitialized: true,
  store: new mongoStore({
    "db" : db.name,
    "host": db.host,
    "port": db.port,
    "username": db.user, 
    "password": db.pass
  })
}));

以前我没有对我的Mongo数据库进行身份验证,这很好。但是,我刚刚对我的数据库进行了身份验证,现在在上面得到以下错误消息:

sessions <MongoError: not authorized for query on Auth.system.indexes>

1 个答案:

答案 0 :(得分:0)

您的用户在Auth数据库中拥有哪些角色?要访问索引,readWrite角色是不够的,您应该具有dbAdmin角色。