带有 Liferay 的 LDAP - 存在的未知主机
LDAP with Liferay - Unknown host where exists
我必须将 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>
但是对于Liferay,它告诉我主机未知...
Unable to bind to the LDAP server
liferay | javax.naming.CommunicationException: openldap:389 [Root exception is java.net.UnknownHostException: openldap]
Caused by: java.net.UnknownHostException: openldap
我不知道它是否相关但我还是会说以防万一,我有 2 个不同的 docker-compose 同时启动:
- 其中包含图像
openldap
、phpldapadmin
、exoPlatform
和 mysql1
- 其中包含
liferay
和 mysql2
图像
我也支持公司代理,但我不记得为 exoPlatform 做过什么特别的事情。
我只是为我的 exoPlatform 和 Liferay 图像将代理设置添加到 Catalina Tomcat。
此外,我在 Liferay 控制面板中使用 Bind method
.
将 LDAP 身份验证设置为 enabled
这是你的容器之间的网络问题,exoPlatform 工作但 Liferay 不工作,因为指定的主机 openldap 在它自己的容器中不存在,而且 389 端口可能无法从那里访问。
您可以在没有 运行 java/ldap 的情况下通过 运行 来自 Liferay 容器的以下命令进行快速检查:
telnet openldap 389
它可能会输出 "Network is unreachable",在这种情况下,您需要创建一个网络并将容器连接到该网络 >>>
我必须将 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>
但是对于Liferay,它告诉我主机未知...
Unable to bind to the LDAP server
liferay | javax.naming.CommunicationException: openldap:389 [Root exception is java.net.UnknownHostException: openldap]
Caused by: java.net.UnknownHostException: openldap
我不知道它是否相关但我还是会说以防万一,我有 2 个不同的 docker-compose 同时启动:
- 其中包含图像
openldap
、phpldapadmin
、exoPlatform
和mysql1
- 其中包含
liferay
和mysql2
图像
我也支持公司代理,但我不记得为 exoPlatform 做过什么特别的事情。 我只是为我的 exoPlatform 和 Liferay 图像将代理设置添加到 Catalina Tomcat。
此外,我在 Liferay 控制面板中使用 Bind method
.
enabled
这是你的容器之间的网络问题,exoPlatform 工作但 Liferay 不工作,因为指定的主机 openldap 在它自己的容器中不存在,而且 389 端口可能无法从那里访问。
您可以在没有 运行 java/ldap 的情况下通过 运行 来自 Liferay 容器的以下命令进行快速检查:
telnet openldap 389
它可能会输出 "Network is unreachable",在这种情况下,您需要创建一个网络并将容器连接到该网络 >>>