Java 如何在使用ExtJS(前端)和Spring(后端)的应用程序中提供字段级安全性?

Java 如何在使用ExtJS(前端)和Spring(后端)的应用程序中提供字段级安全性?,java,security,spring,extjs,access-control,Java,Security,Spring,Extjs,Access Control,我有一个应用程序,它使用Spring作为后端,使用ExtJs作为UI 在此应用程序中,用户可以拥有各种角色和访问权限 当用户登录并打开表单时,根据她的角色,它将决定向她显示哪些字段 为此,我们做了以下两件事: 一,。将JS代码(需要根据角色过滤的代码)以以下方式封装在spring安全标签中: js代码 二,。例如,将所有js文件保存为jsp,而不是将文件保存为test.js-我们将其更改为test.js.jsp。这迫使后端在将代码交付给客户端之前解析安全标记 虽然这很好,但我们对以下问题持

我有一个应用程序,它使用Spring作为后端,使用ExtJs作为UI

在此应用程序中,用户可以拥有各种角色和访问权限

当用户登录并打开表单时,根据她的角色,它将决定向她显示哪些字段

为此,我们做了以下两件事:

一,。将JS代码(需要根据角色过滤的代码)以以下方式封装在spring安全标签中:


js代码

二,。例如,将所有js文件保存为jsp,而不是将文件保存为test.js-我们将其更改为test.js.jsp。这迫使后端在将代码交付给客户端之前解析安全标记

虽然这很好,但我们对以下问题持怀疑态度:

a。这是实现这一目标的最佳方式吗?还有什么方法可以实现这一点?

b。在将js转换为jsp之后,js的压缩工具无法缩小它,因为存在spring安全标记。有什么办法吗?

期待以上指导


提前感谢。

请记住一件事:永远不要信任远程客户端应用程序来实施安全性。将安全敏感应用程序中提交的每份表格视为危险有毒化学品。无论您的JS/客户端安全机制有多全面,在提交表单时都需要在服务器端复制所有这些机制。非常正确,Jason,是的,表单提交后我们会在服务器端重新检查。但不幸的是,这个问题是关于检查哪些字段应该为用户显示(或处于活动状态)。有什么想法吗?再次感谢。我遇到了同样的问题,正在使用与您几乎相同的解决方案。唯一的区别是我使用了调用Spring安全性的自定义标记,而不是Spring标记。这在一些需要的情况下提供了一些定制。谢谢你的帖子。你能分享你所指的自定义标签吗?
< tag start >

js code

< / tag end >