我最近观看了来自 Google I/O 的有关 GWT 安全性最佳实践的视频,演讲者的强烈建议之一是将您的应用程序实际分离为两个不同的应用程序:
- 登录应用程序- 用于显示登录屏幕并验证主应用程序的用户;和
- 主要应用程序- 应用程序的其余部分
他的理由是所有客户端代码都可能受到损害,即使使用 GWT 疯狂的混淆方法也是如此。不要让自己受到不必要的攻击,因此通过拥有两个独立的应用程序,攻击者(甚至无权登录和使用系统)将只能拉下登录应用程序的客户端代码而不会获得他掌握了Primary App的客户端代码。
我喜欢这种方法,但计划将我的应用程序部署到 GAE,这严格禁止您使用多个应用程序 (WAR) 来相互协调(在条款和条件中明确说明!)。
所以看来谷歌开发者自己在这里也有分歧!一方面,GWT 团队出于安全目的希望您的应用程序被拆分,但 GAE 团队不希望 2 个以上的应用程序出于计费目的而相互“联盟”。我的印象是谷歌希望开发者拥抱他们的整个平台,同时使用 GWT 和 GAE。
那么这里的交易是什么?!?有没有办法在不产生单独的 WAR(从而安抚 GAE)的情况下分解我的代码库,但是在您登录之前无法看到我的Primary App的代码?
我认为“是”,但是 GWT 会强制您一次下载所有内容(以最大程度地减少往返和昂贵的 HTTP 请求)。有任何想法吗?提前致谢!