我正在使用每个登录用户每 5 秒调用一次的 keepalive 方法在我的流星应用程序中跟踪我的登录用户。
它更新了一个 mongo 集合,该集合使用“最后一次看到”时间戳保存用户 ID。
在我将 Meteor 更新到 0.6.5 之前,为了防止有人使用已经登录的用户名登录,我已将以下代码添加到 pacakge 中的password_server.js
文件中account-password
:
var alreadyConnected=false;
Meteor.call("isUserConnected", user._id, function(err, result) {
alreadyConnected=result;
});
if(alreadyConnected)throw new Meteor.Error(403, "User Already Connected");
紧接着:
var user = Meteor.users.findOne(selector);
if (!user)
throw new Meteor.Error(403, "User not found");
*isUserConnected 是我在服务器代码中创建的一种方法,用于检查用户是否在过去 5 秒内发送了他的 keepalive 信号。
更新后,它停止工作,我不再知道如何编辑包文件..