我有一个带有用户/地址数据的关系数据库,我想通过LDAP访问它。我正在使用apacheDS并正在编写自定义分区。我已经可以从我的数据库返回条目,但我想知道什么是强制搜索/过滤的最佳方式。
这篇文章: http://markmail.org/message/zxeu2xydfhspexbx#query:+page:1+mid:yxs6d7vnn7jqcmei+state:results表示过滤是一件非常复杂的事情(不只是一些“ifs”)。它指向DefaultSearchEngine的实现 http://svn.apache.org/repos/asf/directory/apacheds/tags/1.5.5/xdbm-search/src/main/java/org/apache/directory/server/xdbm/search/impl/ 但我不明白如何使用它来搜索我的数据库。
我的问题是:
有没有办法定义映射“LDAP属性 - > SQL表/列”(比如“cn - > table Person,列FirstName”)所以我不需要实现任何东西来制作搜索工作?
如果没有,是否有一个API会解析过滤表达式(如:(&(cn = foo *)(sn = bar)))对我来说,我只需要实现一个类似的方法这个:
boolean matches(ServerEntry e, String attributeName, String value, ... comparisonType)
如果没有,除了自己解析过滤表达式并实现所有的,而不是逻辑和数据库搜索之外,还有其他明显/简单的方法来实现搜索吗?
我相信我并不是唯一一个遇到此类问题的人,但我没有找到任何有用的文档或示例,只有一个没有任何源代码的sourceforce项目(penrose)。我非常感谢您提供的任何帮助。非常感谢你!