2

まず、クライアント側でjavascriptで何かを保護しようとしてはならないことを理解していることから始めましょう。私の質問は、一部のユーザーには表示され、他のユーザーには表示されないUIについて言及しています。通常、このUIには、ある種のロジックがバインドされています。バックボーンであろうとエンバーであろうと、ユーザーの役割に応じてUIのさまざまな部分を表示または非表示にするための通常の方法は何ですか。

私の最初の考えは、現在サインインしているユーザーに応じて異なるjsをロードすることでした。これに加えて、ビューテンプレートの非同期読み込みも思い浮かびました。他のアイデアやパターンも聞きたいです。これは、クライアントが通信するバックエンドAPIが特定のユーザーに対してすでに安全であると想定していることに注意してください。そのため、安全なUIコンポーネントを表示したとしても、正しく機能しません。

4

1 に答える 1

0

これが実際にセキュリティの質問であるかどうかはわかりません。とにかくセキュリティはサーバーによって処理されます。アプリケーションにさまざまなモードがある場合に、JavaScriptをどのように編成するかと関係があります。

2つのモードでまったく異なるJavaScriptファイルのセットを用意するのは良い考えではないと思います。むしろ、データと機能を分離し、モードごとに異なるデータを提供するようにしてください。つまり、メニューがある場合は、すべてのメニューエントリをハードコーディングするのではなく、サーバーにajax呼び出しを行って、メニュー項目をロードします。サーバーに、ユーザーのアクセス許可に基づいてさまざまなメニュー項目を提供させます。

もちろん、一部の機能は管理者モードにのみ関連します。それを別のファイルに入れるのはまったく問題ありません。

于 2012-09-26T20:46:21.547 に答える