流星路由器现已弃用。而是使用可以根据登录状态重定向的Iron-router使用:
Router.configure({layoutTemplate: 'mainLayout'});
Router.map(function() {
this.route('splash', {path: '/'});
this.route('home');
});
var mustBeSignedIn = function(pause) {
if (!(Meteor.user() || Meteor.loggingIn())) {
Router.go('splash');
pause();
}
};
var goToDashboard = function(pause) {
if (Meteor.user()) {
Router.go('home');
pause();
}
};
Router.onBeforeAction(mustBeSignedIn, {except: ['splash']});
Router.onBeforeAction(goToDashboard, {only: ['splash']});
示例取自:Meteor.js - 在渲染前检查登录状态
- 或者 -
使用accounts-entry包。从他们的网站:
确保路由的登录用户
使用 AccountsEntry.signInRequired(this) 来要求登录用户的路由。将其粘贴在您的 before 钩子函数中,它将重定向到登录并停止任何渲染。Accounts Entry 还跟踪用户试图去的地方,并在登录后将它们路由回去。