具有Liferay的LDAP-存在未知主机

具有Liferay的LDAP-存在未知主机,ldap,liferay,openldap,Ldap,Liferay,Openldap,我必须将LDAP与两种不同的服务集成:exoPlatform和Liferay。因此,我使用以下配置通过Docker映像设置LDAP服务器: 服务器名称:openldap 基本提供程序URL:ldap://openldap:389 基本DN:cn=users,ou=Platform,o=acme,dc=example,dc=org 我的管理员帐户是:cn=admin 使用exoPlatform,它工作正常,我可以使用LDAP帐户登录。 这里是picketlink-idm-openldap-co

我必须将LDAP与两种不同的服务集成:exoPlatform和Liferay。因此,我使用以下配置通过Docker映像设置LDAP服务器:

  • 服务器名称:openldap
  • 基本提供程序URL:ldap://openldap:389
  • 基本DN:cn=users,ou=Platform,o=acme,dc=example,dc=org
我的管理员帐户是:cn=admin

使用exoPlatform,它工作正常,我可以使用LDAP帐户登录。 这里是picketlink-idm-openldap-config.xml中的配置:

<option>
  <name>providerURL</name>
  <value>ldap://openldap:389</value>
</option>
<option>
  <name>adminDN</name>
  <value>cn=admin,dc=example,dc=org</value>
</option>
<option>
  <name>adminPassword</name>
  <value>admin</value>
</option>

提供者URL
ldap://openldap:389
管理员
cn=admin,dc=example,dc=org
管理员密码
管理
但对Liferay来说,它告诉我主人不知道。。。
无法绑定到LDAP服务器
liferay | javax.naming.CommunicationException:openldap:389[根异常为java.net.UnknownHostException:openldap]
原因:java.net.UnknownHostException:openldap

我不知道它是否相关,但我还是要说,以防万一,我同时启动了两个不同的docker compose:

  • 一个包含图像
    openldap
    phpldapadmin
    exoPlatform
    mysql1
  • 包含
    liferay
    mysql2
    图像的
我也支持一个公司代理,但我不记得为exoPlatform做过任何特别的事情。 我只是为我的exoPlatform和Liferay图像向Catalina Tomcat添加了代理设置


另外,我已在Liferay控制面板中使用
绑定方法将LDAP身份验证设置为
已启用

这是容器之间的网络问题,exoPlatform可以工作,但Liferay不能,因为指定的主机openldap不存在于其自身的容器中,此外,389端口可能无法从那里访问

通过从Liferay容器中运行以下命令,可以在不运行java/ldap的情况下进行快速检查:

telnet openldap 389
它可能会输出“网络不可访问”,在这种情况下,您需要创建一个网络并将容器连接到该网络>>>
根异常为java.net.UnknownHostException:openldap
。您可以启用任何功能,但如果Liferay看不到LDAP服务器,它就无法对该配置进行操作。检查docker设置,确保Liferay容器可以看到OpenLDAP容器。谢谢@ericlavault,我只需要在docker compose文件中添加一个网络,并在它们之间创建一个桥梁