如何防止基于角色加载GWT小部件?

时间:2012-11-16 04:08:21

标签: java security gwt acl smartgwt

我正在编写一个GWT应用程序,而且我只需要根据用户角色加载某些小部件。例如。可能有管理小部件,用户小部件等。

有什么想法我可以实现这个吗?

一个选项是我可以检查代码中的角色并隐藏它们。但是,由于此代码在客户端执行,我认为这是一个安全风险。

2 个答案:

答案 0 :(得分:3)

您应该在服务器端管理角色:

  1. 以某种方式将角色传递给Root小部件。

    • RPConModuleLoad期间致电服务器询问角色

    • 或者只是将其从 JSP 传递给 JS ,并使用Widget中的原生get

  2. 构建必需的面板

  3. 是的,你还有一些风险,因为你所有的js代码都在客户端上,它可以使用JS调试来修改流程。为了防止这种情况,你需要从Admin小部件中过滤掉对服务器端的所有调用,并使它们失败但没有成功的结果。因此,admin小部件无法执行任何操作,因为对Server的所有调用都将失败。

    如果它仍然不够安全 - 那么您可以使用单独的 GWT Entry Points。在这种情况下,您将使用单独的 JS 代码将客户端转发到单独的页面。

答案 1 :(得分:1)

我有同样的问题。我发现了这个(尚未使用它,但我认为这可能是解决方案): acris

相关问题