我想知道是否可以在查询LDAP目录的搜索表单上实施自动完成。
我正在创建一个小窗口小部件,允许用户在LDAP目录中查找人员,然后显示电话号码等信息。
目录中有很多人,所以根据他们到目前为止的内容自动填写表单来帮助用户会很不错。
实际上几乎是what jQuery UI does with Autocomplete
每次用户点击密钥时,是否必须直接请求LDAP目录? 或者我应该缓存(本地还是在服务器上)?
感谢您的帮助
答案 0 :(得分:2)
当然可以,但由于请求的往返,即使使用最快的LDAP服务器,您也希望在搜索字段上使用“延迟观察者”事件监听器。这意味着搜索请求不会立即在每个按键上进行,而是仅在用户键入一些字符并暂停一段时间后才会显示。
我相信jquery UI已经为其自动完成的东西实现了一个延迟的观察者,就像scriptaculous'自动完成小部件一样。
P.S。在javascript和本地查找本地目录中的所有用户的缓存对于超过几百个用户来说实际上不起作用,恕我直言。
答案 1 :(得分:1)
你绝对可以使用像(givenName = E *)这样的通配符过滤器来执行LDAP搜索。 LDAP针对目录搜索进行了优化,通常如果您只使用副本,则可以很好地扩展。
如果您遇到容量问题,我建议您执行单个列表操作并缓存结果。我更喜欢的缓存策略是在服务器端,因为这会减少服务器上的负载。