针对Microsoft Active Directory的Apache Brooklyn和LDAP

时间:2016-01-19 19:26:44

标签: apache active-directory ldap brooklyn

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

我正在测试与Apache Directory Studio的连接,并且它与提供的凭据一起使用。 Screenshot of Apache Directory Studio and the LDAP tree 但是,当我配置Apache Brooklyn以对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

2 个答案:

答案 0 :(得分:1)

http://brooklyn.apache.org/v/latest/ops/brooklyn_properties.html#ldap记录了LDAP支持 - 您的示例配置看起来很好(非常类似)。

然而,文档说它将构建类似的东西:

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

(" ou"值可配置)。

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

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/),还是在https://issues.apache.org/jira/browse/BROOKLYN打开jira问题来描述要求,有人可以看看?

答案 1 :(得分:0)

我遇到了同样的问题,并通过为ActiveDirectory创建自己的LdapSecurityProvider来解决它。创建一个扩展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下找到详细的文档