使用drupal CAS模块从一个系统上的drupal到另一个系统(具有不同ip)上的示例java web应用程序的单点



我想为两个系统实现SSO,一个在一个系统上运行php(drupal),另一个在另一个服务器上运行java。为此,我使用了JASIG的CAS(中央身份验证服务)开源软件。我在drupal安装所在的机器上安装了JASIG CAS服务器。我还配置了CAS服务器的JDBC后端支持,并在安装drupal的同一台机器上创建了一个用户身份验证数据库。然后我在drupal安装中安装了drupal CAS模块。然后,在安装drupal的同一台机器上,我在tomcat服务器上安装了一个示例java web应用程序(JASIG CAS也安装在同一台drupal机器上的同一台tomcat服务器上)。在样例java web应用程序中,我已经配置了web.xml文件,使其包含JASIG网站中所述的CAS java客户机过滤器。然后,我在drupal安装的主页上提供了示例java应用程序的链接。当我登录drupal站点时,它是通过CAS服务器认证登录的,并通过咨询CAS服务器用户认证数据库对用户进行身份验证。登录后,当我点击主页上的示例java应用程序链接时,它不会要求我再次登录并打开示例java应用程序页面从而提供SSO。现在,当我在不同的机器上配置相同的示例java应用程序(具有不同的ip)并在drupal主页上提供不同机器的java应用程序的链接时,SSO不会发生,并且即使我通过CAS登录到drupal安装,单击java应用程序的链接也会将我重定向到CAS登录页面。两台机器都通过局域网连接。请帮我解决这个问题。如果你需要更具体的细节,请告诉我。提前致谢*strong text*

如果使用带有自签名证书的SSL,则应该将证书导入到所有cas-client JVM中,如下所示:

keytool -import -keystore %JAVA_HOME%/jre/lib/security/cacerts -file server.crt -alias jetty

默认密码为

changeit