我有一个网络应用程序。要使用它,请使用两台服务器:
以下是用户步骤:
第1步登录
用户从SERV_W调用索引页,写入用户和密码,并通过HTTP POST调用过程到SERV_A。 SERV_A通过Cookie传递的session_id进行响应(响应头具有Set-Cookie: sessionid=123456
)
第2步获取网址列表
用户通过HTTP GET调用另一个SERV_A过程来检索url的列表 例如,网址为:http://host_serv_a:port/datasnap/rest/TServerMethods1/getPDF/003
第3步点击链接
用户会看到一个链接列表,然后点击其中一个链接。 浏览器自动执行HTTP GET以将资源检索到SERV_A。
好的,这是我的问题: 在STEP3 SERV_A上需要sessionId,在cookie中传递但浏览器从不发送cookie。为什么?我的浏览器(Chrome)没有管理Cookie的限制。
答案 0 :(得分:0)
我在这里找到了一个解决方案https://divshot.com/blog/static-apps/cookies-and-cors/(Web标准非常棒)
要正确管理cookie,服务器和客户必须同意:
withCredentials
选项设置为true
Access-Control-Allow-Credentials: true
标头