对于 GWT GAE Java 应用程序,这种 GWT/RPC 安全方法的安全性如何?

Posted

技术标签:

【中文标题】对于 GWT GAE Java 应用程序,这种 GWT/RPC 安全方法的安全性如何?【英文标题】:How secure is this GWT/RPC security method for a GWT GAE Java App? 【发布时间】:2010-07-18 08:21:52 【问题描述】:

一旦用户登录,我创建一个 Java 会话并将他们的用户 ID 和会话 ID (sid) 存储在会话中,这两个参数被发送到 GWT 客户端并将它们存储在基本 GWT 客户端演示器中(不是作为饼干)。我正在使用 MVP 架构。

之后对服务器进行的每个调用都使用这两个参数 userID 和 SID 发送,所以我在服务器上验证这一点,服务器上的当前会话等于提供的会话 ID,并且属于给定的用户 ID。

如果一切正常,我才会进一步处理 RPC 请求。

另外,我计划让我所有的 RPC 处理程序扩展一个通用的 RPC 处理程序,它可以接受这些参数。

我是 GWT 和 GAE 的新手,非常感谢任何帮助。

谢谢。

【问题讨论】:

我会远离 GAE 的会议,它们很贵。我会将会话信息存储在客户端中,并根据需要来回传递。 与只存储 sessionid 相比,存储 userid 和 sessionid 有什么好处吗? sessionid 不应该只映射到服务器中的一个用户 ID 吗? 嗨彼得,你是对的,这是我的意图,但我的实现不正确。您能告诉我如何将用户 ID 与在 java/GAE 中创建的会话映射吗? 嗨罗曼,你可能是对的。对于我的应用程序,我有多个用户连接到服务器的通道,例如。移动、网络服务等。所以我认为服务器上的会话肯定会有所帮助。 【参考方案1】:

使用 SSL 并在每个请求的负载中发送会话 ID 是两个很好的第一步。这个LoginSecurityFAQ 提供了一个很好的解释和更多细节。

【讨论】:

【参考方案2】:

任何可以拦截有线/无线电波流量的人都可以控制用户的会话,除非您通过 ssl/https 发送会话状态。

【讨论】:

以上是关于对于 GWT GAE Java 应用程序,这种 GWT/RPC 安全方法的安全性如何?的主要内容,如果未能解决你的问题,请参考以下文章

GWT/GAE - 不包括 .symbolMap 资源文件

如何在私有服务器上运行 GAE 应用程序?

GWT 编辑器和 GAE 数据存储

GWT 应用程序的数据存储位置 - GAE 数据存储或 XML 文件

GAE - 无法部署使用 UserService 的 gwt 应用程序

GWT - GAE 的 RPC 失败 - 在本地工作的问候示例