我正在尝试配置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
答案 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下找到详细的文档