【发布时间】:2014-07-19 23:06:58
【问题描述】:
我正在开发一个 JSF 应用程序,存档(war)将提供给多个客户,并将分别部署在他们自己的 Tomcat 服务器上。这只是一个前端应用程序,它使用 Web 服务与远程服务器进行通信。
在我的 JSF 应用程序中,一些选项卡和面板根据登录用户的ORG_ID 和Roles 有条件地呈现。所有这些限制都写在.xhtml页面中作为EL:
<rich:tab header="Registration" rendered="#{permissionController.hasSuperRole()}"/>
由于此应用程序部署在客户场所,他们可以编辑.xhtml 文件并删除这些限制。有没有办法通过加密 xhtml 文件、检查上次修改日期...来解决这个问题?
【问题讨论】:
-
您可以重复检查动作方法。它是 Java 代码,不能在客户端更改。也许这不是最好的建议,但至少它可以防止某些受限操作。
-
这并不容易,但您可以创建自己的 jsf-impl 版本。我想这样的解决方案需要扩展
com.sun.faces.facelets.compiler.Compiler并额外实现检查 xhtml 文件的完整性。 -
'Just' 在网络服务中进行额外授权...