我是meteor.js的新手,如果我的问题根据社区标准不合适,我很抱歉。
好吧,我正在尝试在其上创建一个简单的应用程序,并在用户不活动后遇到了超时问题。
我正在使用#34; stale session meteor package"在一段指定的不活动时间后自动超时用户。它注销了用户,但没有取消设置" Meteor.user()"我可以在流星中知道用户已经注销并呼叫"登录"页面重新登录。
例如,陈旧的会话在30秒不活动后注销用户,然后我检查了" Meteor.user()"的返回值,如果陈旧会话是,那么它应该返回undefined超时,相反,它正在运行具有id和其他详细信息的完整用户对象。
我只想在陈旧会话超时并强制注销用户并显示登录屏幕时。
我一直在互联网上搜索两天,但无法找到解决方法。最后,发布了这个问题。
答案 0 :(得分:0)
我找到了解决方案并且正在运行,因此如果有人需要,可以在此处发布。
我挖掘了陈旧的包代码,并在其client.js中用这个替换了代码
Meteor.setInterval(function() {
if (Meteor.userId()) {
if(activityDetected){
Meteor.call('heartbeat');
activityDetected = false;
} else {
//This is the wanted behavior
Meteor.logout();
}
}
}, heartbeatInterval);
如果在jquery事件方面没有检测到任何活动,我只需要调用logout并且不需要担心Meteor.user()或Meteor.userId()等。它只是注销并转到登录屏幕路径,我实现。