基于角色的视图在extjs4 mvc中

时间:2013-02-18 00:24:28

标签: extjs extjs4 extjs4.1 extjs4.2 extjs-mvc

我的应用程序对于不同的角色(管理员或标准用户)有不同的视图。我不知道如何使用extjs4 MVC实现它。 extjs4文档的示例考虑到应用程序只有一个角色,如标准用户,因此他们创建一个管理应用程序的app.js文件,但如果应用程序有很多角色,我不知道如何为不同的用户实现不同的视图。
一个问题是我在应用程序中有两个app.js文件,在我获得服务器中的用户角色后,我加载适当的app.js文件以使用适当的视图,控制器,模型,商店等。
这件事是真的吗?

1 个答案:

答案 0 :(得分:2)

这是一个相当标准的问题,出现了很多次,答案总是一样的:

  • 访问控制属于无用户可以操作的服务器
  • 只是不向他无法访问
  • 的用户提供View / a model / a controller

考虑到这一点,如果您有一个应用程序或十个应用程序并不重要。

因为Access Control不属于前端,所以ExtJS中没有实现。

更新 - >隐藏UI元素

准备好的方法是使用Ext.direct。这为应用程序提供了一个API,可以根据当前用户的自定义访问权限进行修改,然后由前端进行检查。

方法文档:

根据用户会话创建API并检查客户端

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

或作为一行

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

这只是一个简单的例子,这是多么容易实现!

<强>更新 这个Link帮助了操作