問題タブ [lucid]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
86 参照

javascript - JavaScript / TypeScript で「instanceof」を使用してユーザー モデルを承認しても安全ですか?

管理者、ユーザー、製品の 3 つのモデルがあるとします (モデル クラスを使用しています)。

管理者のみが製品の ADD、UPDATE、DELETE を実行でき、ユーザーは製品の GET のみを実行できるため、対応するルートの ACL ミドルウェアを登録しました。

今、私の ACL ミドルウェアで、ユーザーを承認したいと考えています。ユーザーがADMINの場合はメソッドを呼び出しますnext()。それ以外の場合は、リクエストを拒否し401ます。

instanceofJavaScript の演算子を使用してチェックを行うのは簡単であることがわかりました。

await auth.authenticate()ユーザーか管理者かにかかわらず、リクエストを送信している現在のユーザーを返します

ただし、これが b/w 管理者とユーザーを区別する最も安全な方法であるかどうかはわかりません。

今私の質問は、私はそれを正しくやっていますか?私がやっていることよりもどのアプローチが優れていますか?

注(役立つ場合):私はAdonis.js v5、TypeScript、およびLucidモデルを使用しています