1

で流星アプリを保護しようとしています。これ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

4

1 に答える 1