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