Мне нужно интегрировать LDAP с двумя разными сервисами: exoPlatform и Liferay.Поэтому я настроил сервер LDAP через образ Docker со следующими конфигурациями:
- Имя сервера: openldap
- URL основного провайдера: ldap: // openldap: 389
- Базовое DN: cn = пользователи, ou = платформа, o = acme, dc = пример, 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
Iне знаю, связано ли это, но я все равно скажу это на всякий случай, у меня есть 2 разных docker-compose, которые я запускаю одновременно:
- тот, который содержит изображения
openldap
, phpldapadmin
, exoPlatform
и mysql1
- тот, который содержит
liferay
и mysql2
изображений
Я также за корпоративным прокси, но я нене помню, что сделал что-то особенное для exoPlatform.Я просто добавил настройки прокси-сервера в Catalina Tomcat для моих образов exoPlatform и Liferay.
Кроме того, я установил аутентификацию LDAP на enabled
на панели управления Liferay с помощью Bind method
.