3

Meteor アプリを構築するとき、ユーザーが認証されるまで、生成されたすべての JavaScript をクライアントに提供/ロードしないことは可能ですか?

テンプレート、モデル、ヘルパーなどを誰にも見られない方が幸せです...

明確化:
これは、/server の下に何かを置いたり、pub/sub で正しいことをしたりすることではありません。
これは、認証されていないユーザーに必要以上に送信しないということです。これは、セキュリティ上のリスクがあるからではなく、単に世界から可能な限り隠すためです.

4

2 に答える 2

0

これを達成するためにルーターパッケージを使用しています。

メインの html ファイルで{{renderPage}}、ルーターがテンプレートをレンダリングする場所を追加します。次に、ルートを定義するときに、パスに基づいてどのテンプレートをレンダリングするか、およびその他の変数を指定できます。

たとえば、保護されたテンプレートをレンダリングせずにログイン画面を表示したい場合は、次のようにします。

Meteor.Router.page();
Meteor.Router.add({
  '/': function() {                                                                                                                                                                                                 
    if (Meteor.userId()) {
      return 'protectedContentTemplate';
    }   
    else {
      return 'userUnauthorizedTemplate';
    }   
  },  
});

もちろん、権限のないユーザーがアクセスしてはならない情報にアクセスできないように、常にコレクションをMeteor.publish()および関数でロックダウンする必要があります。Collection.allow()

于 2013-10-08T14:54:10.217 に答える