0

我想为两个系统实现 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。现在,当我在不同的机器(具有不同的 ip)上配置相同的示例 java 应用程序并在我的 drupal 主页上提供不同机器的 java 应用程序的链接时,SSO 没有发生并且单击 java 应用程序的链接将我重定向到即使我通过 CAS 登录到 drupal 安装,CAS 登录页面也是如此。两台机器都通过局域网连接。请帮助我解决问题。如果您需要更具体的细节,请告诉我。提前致谢*强文本*

4

1 回答 1

1

如果您使用带有自签名证书的 ssl,您应该将证书导入所有 cas-client jvm ,如下所示:

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

默认密码是

更改

于 2013-07-24T07:17:18.603 回答