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

发布于 2024-10-31 06:21:15 字数 507 浏览 3 评论 0原文

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

CAS 服务器用于身份验证并按照设计运行。这个问题似乎是 ajax 特定的。

这里有一个类似的问题,但我们不能使用相同的域/server/port 用于 CAS 服务器和后端资源。

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

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

您将使用什么设计模式来解决这个问题?

What are potential solutions to a redirection problem that occurs when trying to make AJAX calls to a CAS-protected, SSL-encrypted resource located on a server different from the CAS server?

The CAS server is used for authentication and behaves as designed. This issue appears to be ajax-specific.

There is a similar question here, but we cannot use the same domain/server/port for the CAS server and the backend resource.

The JASIG CAS mailing lists mentions using JSESSIONID.

Another possible approach is to modify the CAS Filter to change the expired-ticket default behavior to something more robust.

What design pattern would you use to overcome this issue?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

初见你 2024-11-07 06:21:15

我有两个建议:

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

I have 2 suggestions:

  • can you set up a proxy script on the same domain as the one that holds the JS code? That way the proxy script would query the CAS and return desired results
  • can you enable JSONP? this type of request is not limited by the security policy (but then anyone could use the service)
风透绣罗衣 2024-11-07 06:21:15

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

I never heard about CAS, but in general: Javascript has some restriction called “same origin policy”. A visible ressource is not automatically visible to Javascript, too. Did you try to access the ressource using a reverse proxy to make it available within the same domain? You could also consider to point your domain onto a separate web server and include both servers as reverse proxies (for Tomacat, JKmounts are to prefer) here.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文