で流星アプリを保護しようとしています。これiron-router
が onBeforeAction 関数です。
this.route('manageUsers', {
path: '/panel/user_management',
layoutTemplate: 'panel',
onBeforeAction: function(){
if((Meteor.user() === null)||(Meteor.user().role !== 'superAdmin')){
Router.go('signIn');
throwAlert('You dont have access to see this page', 'notification');
}
}
});
リンクボタンを押してサブページに移動しようとすると、/panel/user_management
すべてうまくいきます (ユーザーがリダイレクトされるなど) が、ブラウザーに直接パスを入力して ( localhost:3000/panel/user_management
) Enter キーを押すと、ユーザーがリダイレクトされず、コンソールに表示されますException in defer callback
エラー。私が間違っていることを知っている人はいますか?
追加情報として、このビューには、登録されているすべてのユーザーが一覧表示されます。このパスに通常どおり (エラーなしで) 移動すると、完全なユーザー リストが表示されます。エラー テンプレートが に表示されません> yield
。