3

私のアプリケーションには、(管理者または標準ユーザーのような) 役割ごとに異なるビューがあります。extjs4 MVC でそれを実装する方法がわかりません。extjs4 ドキュメントの例では、アプリケーションには標準ユーザーのようなロールが 1 つしかないため、アプリケーションを管理する app.js ファイルを 1 つ作成しますが、アプリケーションに多くのロールがある場合、ユーザーごとに異なるビューを実装する方法がわかりません。
1 つの問題は、アプリケーションに 2 つの app.js ファイルがあり、サーバーでユーザー ロールを取得した後、適切な app.js ファイルを読み込んで、適切なビュー、コントローラー、モデル、ストアなどを使用することです。
この件は本当ですか?

4

1 に答える 1

2

これはかなり標準的な質問で、何度も出てきますが、答えは常に同じです。

  • アクセス制御は、ユーザーが操作できないサーバーに属しています
  • アクセス権のないユーザーにビュー/モデル/コントローラーを提供しないでください

それを念頭に置いて、アプリが 1 つでも 10 でもかまいません。

Access Control はフロントエンドに属するものではないため、ExtJS 内に実装はありません。

更新 -> UI 要素を非表示

すぐに使えるアプローチは、 の使用ですExt.direct。これにより、現在のユーザーのカスタム アクセスに基づいて変更できる API がアプリケーションに提供され、フロントエンドで確認できます。

方法:

ユーザー セッションに基づいて API を作成し、次のようにクライアント側で確認します

if(Booking) {
   if (Booking.Create) {
       // has access
   }
}

または1行として

{
    xtype: 'button',
    hidden: !(Booking && Booking.Create)
}

これは、これがいかに簡単に実行できるかを示す簡単な例です。

更新 このリンクは操作に役立ちました

于 2013-02-18T10:37:11.330 に答える