【发布时间】:2015-05-23 08:47:36
【问题描述】:
我的任务是从一个应用程序向另一个应用程序发送数据。资源很可能位于不同的 Web 服务器上。我还不知道,所以我假设它们在不同的服务器上。但是,它们在同一个域中,如下所示:
http://a.bbb.com/SevletX
http://a.bbb.com/ServletY
我需要能够将一些敏感数据从第一个资源发送到第二个资源。假设它们位于 2 个不同的服务器上,RequestDispatcher 将无法工作。我没有使用查询字符串的选项,因为数据是敏感信息(用户凭据)。
如果我在第一个资源中设置一个 cookie 并重定向,该 cookie 是否可用于第二个资源?我没有可以测试的环境。
如果上述情况属实,我可以序列化一个对象,将其转换为字符串,然后在cookie中设置字符串值并在第二个资源中检索它,反序列化并取回对象吗?
cookie 是否足够安全(比如通过 https)来发送敏感数据,例如用户凭据?
【问题讨论】:
-
你可以使用cookie吗?是的。你应该?一般来说,没有。特别是对于凭证。我不确定用例,但现代应用程序通常使用基于令牌的身份验证,如 oauth。
-
你说我可以使用cookies。 Web 服务器是否在不同的物理机器上是否重要?此外,这实际上不是身份验证问题。我不想做单点登录。但是,我需要将数据传递到另一个 Web 服务器,该服务器用于通过 JNLP 文件将数据传递给富客户端。所以我必须想办法将数据从 web app1 安全地传递到 web app2。
标签: java servlets cookies web-applications webserver