我的应用程序对不同的角色(如管理员或标准用户)有不同的视图。我不知道如何使用 extjs4 MVC 实现它。extjs4 文档的示例认为应用程序只有一个角色,如标准用户,因此他们创建了一个 app.js 文件来管理应用程序,但如果应用程序有很多角色,我不知道如何为不同的用户实现不同的视图。
一个问题是我在应用程序中有两个 app.js 文件,在我获得服务器中的用户角色后,我加载适当的 app.js 文件以使用适当的视图、控制器、模型、商店等。
这件事是真的吗?
问问题
1147 次
1 回答
2
这是一个相当标准的问题,出现了很多次,答案总是一样的:
- 访问控制属于服务器,任何用户都无法对其进行操作
- 根本不向他无权访问的用户提供视图/模型/控制器
考虑到这一点,您拥有一个应用程序还是十个应用程序并不重要。
而且因为访问控制不属于前端,所以在 ExtJS 中没有实现。
更新 -> 隐藏 UI 元素
一种准备就绪的方法是使用Ext.direct
. 这为应用程序提供了一个 API,该 API 可以根据当前用户的自定义访问权限进行修改,然后可以由前端进行检查。
如何:
根据用户会话创建 API 并检查客户端,如
if(Booking) {
if (Booking.Create) {
// has access
}
}
或作为一条线
{
xtype: 'button',
hidden: !(Booking && Booking.Create)
}
这只是一个简单的例子,这很容易做到!
更新 此链接帮助操作
于 2013-02-18T10:37:11.330 回答