我正在创建一个GWT应用程序,并希望添加一个管理控制台。
我的第一次尝试是创建一个管理窗口(窗口小部件),然后在管理员登录时显示它。
这种方法的问题在于每个访问我页面的用户都会下载负责显示和操作管理控制台的javascript - 出于性能和安全原因,我不喜欢这个想法。
由于管理控制台只是我应用程序中的“窗口” - 我希望只有当用户以管理员身份登录并在他退出时“清除”它时才下载它。
使用GWT实现该目标的可用选项是什么?
答案 0 :(得分:1)
跟进Ajax的解决方案,了解更多细节&选项:
答案 1 :(得分:-1)
使用自己的管理控制台活动创建单独的视图。您可以使用Activities and Places design pattern。
此外,您可以使用code-splitting确保只有管理员加载管理控制台所需的代码。
编辑:
在您的入口点类中,您应该检查用户是否经过身份验证并且是否为admin,允许或不允许访问您应用的这一部分。您也应该在服务器端执行相同的操作。当用户注销时,请关闭该应用。
答案 2 :(得分:-1)
代码拆分是将管理员资料从面向客户端的JS中移出的快速解决方案;但是,任何熟悉w / gwt的人都知道如何访问未下载的代码拆分。
真正安全的选择是运行第二个入口点并仅为管理员编译。这样,您的服务器就可以避免提供任何触及管理功能的内容。
将所有管理功能放入主编译中不允许的包中也是明智之举;这样,你永远不会泄漏不安全的资源。