セキュリティの観点から、制限された URL へのアクセスは次の 2 か所で処理するのが最善である と考えています。
- ルーティング レベル: 許可されていないルートに誰も到達できないことを確認します。
- テンプレート レベル: 権限を確認する前に、制限されたデータは表示されません。
Iron-Router最初の方法をサポートしていますが、使用したいですFlow-Router。
Meteor の記事を見つけました: 認証とアクセス許可にフロー ルーターを使用するSatya van He-menこの記事
で、彼はルーティング グループとトリガーを使用して、アクセス許可によってルートを "フィルター処理" しています。
しかし、この記事では
、オブジェクトの関数内で 、、およびを使用しています。Meteor.loggingIn()Meteor.userId()Meteor.user()Roles.userIsInRole() triggersEnter:FlowRouter
実行中にこれらの関数のいずれかが未定義になる可能性はありtriggersEnterますか?
それらを使用しても安全ですか?
記事のパターンは気に入っているが、安全に使用できることを確認したい (または、少し変更するだけで安全になる可能性がある)