Meteor で FlowRouter を使用しています。
一部のページで、ユーザーがログインしているかどうかを確認したいので、triggerEnter関数を作成しました
const isAuthenticatedRedirect = ( context, redirect, stop ) => {
if ( ! Meteor.loggingIn() && ! Meteor.userId() ) {
FlowRouter.go( 'login' );
}
};
const isAuthenticatedRoutes = FlowRouter.group( {
name: 'isAuthenticated',
triggersEnter: [ isAuthenticatedRedirect ]
} );
/login
問題は、ログイン テンプレートを表示するだけでなく、ユーザーをリダイレクトすることです。
すべてのページで if ステートメントを作成し、ユーザーがログインしていない場合は実際のページの代わりにログインを表示することもできますが、ルーターで直接行う方がはるかにスマートだと思います。