2011-04-04 75 views
3

我正在使用Grails 1.3.7,Grails的Spring Security Plugin和ExtJS 3.3.1。我将在我的应用程序中拥有约20个角色,并使用静态URL规则来保护我的控制器层。我的客户端将全部是ExtJS,因为我刚刚开始使用ExtJS,我想在那里与您联系,了解将访问控制集成到ExtJS客户端的正确方法。基本上,如何组织代码来确定为给定用户显示哪部分UI?此外,某些表单对于某些用户可能是只读的。在ExtJS客户端使用Spring Security的访问控制?

回答

1

在我们的应用程序中,我们有一个JSON编码的用户对象,其中包含该用户的角色/权利。这些内容在加载时嵌入到页面标题中,以便它们在全局范围内可用。

然后,有一个hasEntitlement(userObj,Entitlement)函数,用于测试我们嵌入的userObj中的特定权利。因此,页面中的所有ExtJs操作在执行操作之前都会检查该操作,并且所有按钮'已禁用'的属性都将在init中设置为此函数调用。

当然,我们也处理使用春方法级别的安全性的UI的请求之前检查所有这些服务器端的,所以如果有人黑客在前端的JS,他们没有妥协的后端。