1

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

我正在测试连接,Apache Directory Studio它可以使用提供的凭据。 Apache Directory Studio 和 LDAP 树的屏幕截图 但是,当我配置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
4

2 回答 2

1

LDAP 支持记录在http://brooklyn.apache.org/v/latest/ops/brooklyn_properties.html#ldap - 您的示例配置看起来不错(与此非常相似)。

但是,文档说它将构建类似的东西:

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

(“ou”值是可配置的)。

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

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

不幸的是,布鲁克林目前不支持这一点。

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

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/打开一个 jira 问题浏览/BROOKLYN来描述要求,有人可以看看吗?

于 2016-01-20T14:54:27.053 回答
0

我遇到了同样的问题,并通过为 ActiveDirectory 创建自己的 LdapSecurityProvider 来解决它。创建一个扩展org.apache.brooklyn.rest.security.provider.LdapSecurityProvider的新类并覆盖 getUserDN 方法。

Brooklyn 使用 com.sun.jndi.ldap.LdapCtxFactory,因此您可以在http://docs.oracle.com/javase/7/docs/technotes/guides/jndi/jndi-ldap.html下找到详细文档

于 2016-07-01T07:04:39.653 回答