我正在尝试使登录过程正常工作。基本上,如果用户没有登录,所有路由都应该重定向到“/login”。除了“/signup”和“/reset”,因为如果你去那里你显然不会登录。
Router.configure({
layoutTemplate: 'layout'
});
Router.onBeforeAction(function () {
except: ['signup','reset']
if (!Meteor.userId()) {
// if the user is not logged in, render the Login template
this.render('login');
}
else {
this.next();
}
});
Router.route('/', function (){
this.render('app-main-page');
});
Router.route('/signup', function () {
this.render('signup');},
{
name:'signup'
});
Router.route('/reset', function () {
this.render('reset');},
{
name:'reset'
});
// and a bunch of more routes within the app
});
通常,onBeforeAction 正在工作,当有人未登录时,会呈现登录模板。但是,“例外”部分不起作用,这意味着用户无法注册,因为他们被重定向到登录页面。有没有人有任何见解?这似乎是一段非常简单的代码,我完全不知道我可能在哪里出错。