我有一个非常标准的过滤器,可以检查您是否已登录:
requireLogin: function(page) {
if (Meteor.user()) {
return page;
} else if (Meteor.loggingIn()) {
return 'loading';
} else {
return 'login';
}
}
现在当我转到需要登录的页面时,我按预期获得登录模板,其中url保持不变。但是,如果我只是尝试使用loginwithpassword登录,它的loggingin()一点,然后返回到登录模板,好像什么也没发生(回调函数似乎永远不会被调用)。现在,如果我只使用相同的模板从/ login url登录,请记录正确。
登录代码:
'click .userlogin':function(e, tmpl) {
Meteor.loginWithPassword(
{email: tmpl.find("#emailInput").value},
tmpl.find("#passInput").value,
function(err){
if (err) {
// handle error
Session.set('errorMessage', err.reason || 'Unknown error');
Session.set("showErrorMessage", true);
} else {
// show an alert
Meteor.Router.to('/profile');
}
});
}