好的,所以我在affiliatedomain.com上有一个域名,这实际上只是我的主网站maindomain.com的联盟版本。
我们要求在首次访问affiliatedomain.com时在用户浏览器上设置maindomain.com Cookie。目前,服务器端302重定向到maindomain.com/addcookie?redirect=affiliatedomain.com,然后301重定向回affiliatedomain.com。
由于某些原因,这显然不太理想,a)因为它执行不必要的客户端重定向,并且b)它使maindomain.com保持开放以便重定向安全漏洞。
我已经通过在maindomain.com上执行javascript GET来实现这一目标,但是这需要打开 Access-Control-Allow-Origin ,这是不受支持的所有版本的IE(我们需要支持IE6和7)。
因此有没有办法达到这个要求?我已经研究过JSONP但不太确定如何使用这种方法实现它。
答案 0 :(得分:1)
我找到了一种方法来做到这一点。我在maindomain.com上设置了一个控制器动作,以返回一个类型为JavaScript()的ActionResult,其端点为maindomain.com/setcookie.mvc。然后从affiliatedomain.com我添加了一个指向此端点的标签。
然后客户端将对setcookie.mvc页面执行GET(因为相同的域策略不适用于标记),这将允许我执行我需要的任何服务器端cookie逻辑。