ユーザー ロールを使用していくつかのルートを保護しようとしています (一部のルートは複数のロールを受け入れます)。ルート ハンドラーで承認されたロールを一覧表示すると、一覧表示された最初のユーザー ロールのみがアクセスを許可されます。一覧表示されたすべてのロールへのアクセスを許可する必要があります。
これは、JWT トークンをデコードする認証ミドルウェア ファイル (auth.js
) です:
リーリー
これはルーター ファイル (userRoute.js
) です:
リーリー
最後に、ログイン時のサイン時に JWT ペイロードのデータが挿入され、応答ヘッダーに保存されます:
リーリー
userRoute.js
ファイルで、そのルートで受け入れられた各ロール間でパイプ演算子を使用しようとしましたが、ロールをブール値として扱うことができないようです。
ご協力いただければ幸いです。 (これは、近い将来 React フロントエンドとペアになるバックエンドです。)
ミドルウェア関数の配列は常に、順番に指定されたルートのように動作します。これは、ミドルウェア関数の 1 つで
res.send()
を呼び出した場合、配列内の次の関数はすべてまだ使用されていないことを意味します。たとえば、これをお勧めします:
保護者、生徒、管理者によるアクセスルーティングのためのミドルウェア
ルーティング ミドルウェアはリーリー
admin
のみがアクセス可能です:
リーリー