在我们当前的设置中,我们有大约12个部署到单个Tomcat服务器的Web应用程序。其中一个应用程序是CAS,用于所有授权。
这非常有效,在我们的jRuby Web应用程序中,我们使用rubycas-client gem,指向CAS,我们已经完成了。
现在我们有一个要求,在Java组件中,我们需要能够通过驻留在同一服务器上的休息服务调用另一个Web应用程序。我的第一个想法是使用CAS代理票证,但我们当前要点击的Web应用程序没有启用此功能,并且由于环境的性质,这不能更改。
据我所知,我们试图通过在我们的Web应用程序中使用指向另一个(我们都在同一个域和服务器上)的iframe来模拟用户并刮掉其sessionid模拟并将其传递给Java层。但我真的,真的不想这样做。
我错过了什么吗?有没有更好的方法呢?有没有办法在没有iframe的情况下获取sessionid?
谢谢!
答案 0 :(得分:1)
如果要使用CAS标识从Web应用程序调用Web服务,您当然应该使用CAS代理功能。 如果您无法理解您的Web服务,还有另一种选择:您可以使用Apache模块进行CAS:https://wiki.jasig.org/display/CASC/mod_auth_cas。