0

我有一个应用程序将请求转发到任何标有@RequireHttps.

我还在 URL 中附加了一个会话 ID,以便将 sessionData 保留在安全 URL 上。

我正在监听任何会话,然后将 cookie 中的 sessionID 替换为传入的会话 ID。

我已经使用相同的域在本地测试了我的逻辑以实现安全和非安全,cookie 会被我作为会话传入的任何内容覆盖。

但是,当我将会话数据传递到我的 URL 到另一个域时,它不起作用。

secure.example.com/?username=testuser&session=xxxxxxxx

我得到一个空白页。

当我转发到新 URL 时,似乎没有生成 cookie。似乎我需要为新 URL 创建一个新会话,然后替换新 cookie 中的会话 ID。

如何强制应用程序 g

4

1 回答 1

1

关于cookies:

cookie 由其名称和该域中的路径限定(更多信息请参见RFC-6265, 4.1.2.3. 域属性)。

因此,通常,您可以将 cookie 的范围设置为域(或域的子域),但不能跨域(源服务器域之外)。在您的测试域中它可以工作(这没关系),而在不同的域之间它不起作用(这也可以)。

但是从您的问题中不清楚“不同域”是您拥有的域的子域,还是一个全新的域。如果是前者,您可以将 cookie 域设置为类似的东西.example.com,这样的 cookie 应该在域 example.com 中的所有子域中工作。

于 2011-12-22T08:26:44.813 回答