1

/adminExpress では、そのパスの下にある特定のエンドポイントのハンドラーを追加する前に、そのパスにミドルウェアを追加するだけで、たとえばプレフィックスで始まるすべてのルートへのアクセスを非常に簡単にブロックできます。

Feathers では、いくつかの共通のフック モジュールを作成し、作成したすべてのサービスに個別に追加する必要があるようです。イベントフィルターについても同様です。

認証フックやイベント フィルターを追加するのを忘れるという考えは恐ろしいものです。サービスの初期化コードをすべて確認するか、ハッキングされない限り、間違いに気付かないからです。その意味で、例外的なエンドポイントに対して簡単に実装できるある種のホワイトリストを備えた Express ミドルウェアは、私にはるかに安心感を与えてくれます。

Feathersでそのようなことをすることは可能ですか?

(追伸: アプリの REST API を保護していたことに気付きましたが、すべてのリアルタイム イベントを保護するのを忘れていました)。

4

1 に答える 1

3

v1.6.0 の時点で、以下feathers-hooksを介してすべてのサービスで実行されるアプリケーション フックがサポートされていますapp.hooks

app.hooks({
  before(hook) {
    console.log('Global before hook');
  },

  after(hook) {
    console.log('Global after hook');
  },

  error(hook) {
    console.error(`Error in ${hook.path} method ${hook.method}`, hook.error.stack);
  }
});

その他の例については、エラーとアプリケーション フックに関するこのブログ投稿を参照してください。

リアルタイム イベントに関しては、イベントを表示する必要があるクライアントにのみイベントを送信する安全な方法を提供するチャネルが使用されます。

于 2016-10-07T16:03:12.760 に答える