针对Microsoft Active Directory的Apache Brooklyn和LDAP

针对Microsoft Active Directory的Apache Brooklyn和LDAP,apache,active-directory,ldap,brooklyn,Apache,Active Directory,Ldap,Brooklyn,我正在尝试配置Apache Brooklyn以针对Windows Active Directory使用LDAPSecurityProvider 我正在测试与apachedirectorystudio的连接,它使用提供的凭据工作。 但是,当我配置ApacheBrooklyn对AD使用LDAP时,它不起作用,也不会创建错误日志 我的布鲁克林财产档案在这里: brooklyn.webconsole.security.provider=org.apache.brooklyn.rest.security.

我正在尝试配置Apache Brooklyn
以针对
Windows Active Directory
使用
LDAPSecurityProvider

我正在测试与apachedirectorystudio的连接,它使用提供的凭据工作。 但是,当我配置ApacheBrooklyn对AD使用LDAP时,它不起作用,也不会创建错误日志

我的布鲁克林财产档案在这里:

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

LDAP支持记录在-您的示例配置看起来不错(非常类似)

然而,文件说,它随后将构建如下内容:

LDAP://cn=John Smith,ou=Users,dc=example,dc=com
(可配置“ou”值)

查看您的屏幕截图,您似乎需要下面这样的内容(尽管没有展开以查看完整的用户示例):

不幸的是,布鲁克林目前不支持这种做法

解决方法是将用户存储在“ou”intead下

LDAP集成代码非常简单(并且日志记录较少):

更新Java以支持您的用例相当容易


您是想尝试为该()创建一个pull请求,还是想在上打开一个jira问题来描述需求,然后有人可以看一看?

我遇到了同样的问题,并通过为ActiveDirectory创建自己的LdapSecurityProvider解决了这个问题。创建一个新类,该类扩展并重写getUserDN方法

Brooklyn使用com.sun.jndi.ldap.ldapctx工厂,因此您可以在下找到详细的文档

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