这与我询问的有关自动登录的其他问题有关。我认为它有效,因为cookie已设置,但是,现在当我检查查询时,它总是返回相同的用户“admin”。如果我在mongo中运行此查询:
db.getCollection('aposUsersSafe')。find({username:'lance'})
我得到了用户“lance”,但是使用了答案中公布的代码:
Auto login users to Apostrophe
对于我提供的任何有效用户名,我总是返回相同的用户“admin”。
self.apos.users.find({username: 'lance'}).permission(false).toObject(function (err, user) {
if (err) {
return callback(err);
}
if (!user) {
return callback(null);
}
console.log(user);
});
这看起来很基本,但我无法弄清楚为什么查询不会返回任何记录但是同样的“管理员”记录?
答案 0 :(得分:2)
我在基类中检查了users.find的使用,发现它有一个请求对象作为find()的参数传递。添加此参数将返回预期结果。看起来这只是在原始答案的片段中遗漏了,但它现在正在工作。
self.apos.users.find(req,{username:' lance'})