我正在为我的 Apostrophe CMS 安装中的用户添加密码重置功能。我正在使用此代码通过电子邮件地址查找用户并创建一个新令牌以供以后使用:(在 lib/modules/apostrophe-users/index.js 中)
module.exports = {
construct: function(self, options) {
self.route('post', 'send-reset-token', function (req, res) {
var email = req.body.email;
var usersModule = self.apos.modules['apostrophe-users'];
var userList = usersMods.find(req, {email: email}, {permissions: false});
userList.toArray(function (err, arr) {
if (arr.length > 0) {
//Create token
}
});
}
}
}
但是,当此请求来自未登录会话(即重置点)时,用户列表为空白。我认为(从阅读文档中)将 options.permissions 参数设置为 false,它会在不先检查权限的情况下让用户获得,但它似乎不起作用。当我以管理员身份登录时拨打此电话时,我可以正确获取用户。
在请求人有权查看用户的情况下,我还需要做些什么才能在服务器端找到该用户吗?