我用用户登录编写了一个流星应用程序。用户注销后,应用程序将重定向到用户登录页面。但是,当它们是应用程序处于活动状态(并且用户已登录)的浏览器(或多个浏览器窗口)中的多个选项卡时,只有活动选项卡或浏览器窗口返回到用户登录页面。在另一个窗口中,用户似乎仍然登录。但是,当用户在另一个窗口中执行某些进一步的工作时,不再与服务器上的数据库同步。我认为Meteor.logout()是被动的,那么其他浏览器标签或窗口怎么可能不刷新?
我的路由器中有以下内容?js文件:
var filters = {
isLoggedIn : function(pause) {
if(!Meteor.user()){
this.render('login');
} else {
this.next();
}
}
....
}
Router.onBeforeAction(filters.isLoggedIn);
按下注销按钮后,执行以下js代码
Meteor.logout();
感谢您的帮助。
答案 0 :(得分:0)
答案 1 :(得分:0)
在我的应用中,我不想在注销时使用全局重定向,但在某些模板上,如果发生注销,则会重定向到另一个模板。
在秋季伦纳德的评论之后,我通过创建一个template.mytemplate.onCreated函数让特定模板具有反应性来完成这项工作,并在里面放置一个自动运行功能来检查Meteor.user()并进行重定向。 / p>
我希望这种方法有助于其他人:)