2016-01-19 2 views
1

Я пытаюсь настроить Apache Brooklyn на использование LDAPSecurityProvider против Windows Active Directory.Apache Brooklyn и LDAP против Microsoft Active Directory

Я тестирую соединение с Apache Directory Studio и работает с предоставленными учетными данными. Screenshot of Apache Directory Studio and the LDAP tree Но когда я настраиваю Apache Brooklyn, чтобы использовать LDAP для AD, он не работает и не создает журналов ошибок.

My бруклинский Свойство Файл находится здесь:

brooklyn.webconsole.security.provider=org.apache.brooklyn.rest.security.provider.LdapSecurityProvider 
brooklyn.webconsole.security.ldap.url=ldap://10.0.20.10:389/????X-BIND-USER=uid=StackAdmin%2cou=users,X-BIND-PASSWORD=Password123,X-COUNT-LIMIT=1000 
brooklyn.webconsole.security.ldap.realm=example.com 

ответ

1

Поддержка LDAP документирована в http://brooklyn.apache.org/v/latest/ops/brooklyn_properties.html#ldap - ваш пример конфигурации выглядит хорошо (очень похоже на то).

Однако документы говорят, что будет строить что-то вроде:

LDAP://cn=John Smith,ou=Users,dc=example,dc=com 

(с «НУ» значение является настраиваемым).

Глядя на скриншоте, кажется, вам нужно что-то подобное ниже (хотя это не расширена, чтобы увидеть полный пример пользователя):

LDAP://cn=John Smith,cn=Users,dc=example,dc=com 

К сожалению, не поддерживается в Бруклине ,

Обходной путь будет хранить ваши пользователи под заголовком «ou».

LDAP-код интеграции довольно просто (и низко протоколирование): https://github.com/apache/incubator-brooklyn/blob/master/brooklyn-server/rest/rest-server/src/main/java/org/apache/brooklyn/rest/security/provider/LdapSecurityProvider.java

Было бы достаточно легко обновить Java для поддержки сценария использования.

Вы хотите, чтобы у вас возникли проблемы с созданием запроса на растяжение (https://github.com/apache/incubator-brooklyn/) или открытия вопроса о jira на https://issues.apache.org/jira/browse/BROOKLYN, чтобы описать требования, и кто-то может взглянуть?

0

У меня была такая же проблема и решить ее, создав свой собственный LdapSecurityProvider для ActiveDirectory. Создайте новый класс, который расширяет org.apache.brooklyn.rest.security.provider.LdapSecurityProvider и переопределяет метод getUserDN.

Бруклин использует com.sun.jndi.ldap.LdapCtxFactory, так что вы можете найти подробную документацию по http://docs.oracle.com/javase/7/docs/technotes/guides/jndi/jndi-ldap.html