Grails 在ExtJS客户端中使用Spring安全性进行访问控制?

Grails 在ExtJS客户端中使用Spring安全性进行访问控制?,grails,extjs,spring-security,Grails,Extjs,Spring Security,我正在使用Grails1.3.7、Grails的Spring安全插件和ExtJS3.3.1。我将在我的应用程序中有大约20个角色,并使用静态URL规则来保护我的控制器层。我的客户端将全部是ExtJS,因为我刚刚开始使用ExtJS,我想和你们一起检查一下,找出将访问控制集成到ExtJS客户端的正确方法。基本上,如何组织代码来确定为给定用户显示UI的哪个部分?此外,对于某些用户,某些表单可能是只读的。在我们的应用程序中,我们有一个JSON编码的用户对象,其中包含该用户的角色/权限。这些文件在加载时被

我正在使用Grails1.3.7、Grails的Spring安全插件和ExtJS3.3.1。我将在我的应用程序中有大约20个角色,并使用静态URL规则来保护我的控制器层。我的客户端将全部是ExtJS,因为我刚刚开始使用ExtJS,我想和你们一起检查一下,找出将访问控制集成到ExtJS客户端的正确方法。基本上,如何组织代码来确定为给定用户显示UI的哪个部分?此外,对于某些用户,某些表单可能是只读的。

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

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

当然,在使用Spring方法级安全性处理来自UI的请求之前,我们也会检查所有服务器端,因此如果有人在前端攻击JS,他们就不会破坏后端