如何克服Ajax调用CAS保护资源的跨域问题?

时间:2011-04-08 02:47:52

标签: ajax authentication cookies redirect cas

尝试对位于与CAS服务器不同的服务器上的受CAS保护的SSL加密资源进行AJAX调用时,重定向问题的潜在解决方案是什么?

CAS服务器用于身份验证,其行为与设计相同。此问题似乎是特定于ajax。

有一个类似的问题here,但我们不能对CAS服务器和后端资源使用相同的域/服务器/端口。

JASIG CAS邮件列表使用JSESSIONID提及。

另一种可能的方法是修改CAS过滤器,将过期票证默认行为更改为更强大的行为。

您将使用什么设计模式来克服此问题?

2 个答案:

答案 0 :(得分:1)

我有2条建议:

  • 你能在同一个域上设置一个代理脚本,而不是拥有JS代码的代理脚本吗?这样,代理脚本将查询CAS并返回所需的结果
  • 你能启用JSONP吗?此类请求不受安全策略的限制(但任何人都可以使用该服务)

答案 1 :(得分:0)

我从未听说过CAS,但总的来说:Javascript有一些限制称为“同源策略”。 Javascript也不会自动显示可见的ressource。您是否尝试使用反向代理访问ressource以使其在同一域中可用?您还可以考虑将您的域指向一个单独的Web服务器,并将这两个服务器包含在反向代理中(对于Tomacat,JKmounts更喜欢)。