关于 aem:使用 CQ5 Query Builder 搜索用户


Search users with CQ5 Query Builder

我们使用 Adob??e CQ5,将用户组织在多个树中(例如,/home/users/internalUsers、`/home/users/guests、...)。

我正在尝试在任何树中查找用户。我能够

1
http://localhost:4900/bin/querybuilder.json?type=rep:User&nodename=*username

我得到了

1
{"success":true,"results":1,"total":1,"offset":0,"hits" [{"path":"/home/users/testUsers/u/username","excerpt":"","name": ....

但这将匹配任何以 username 结尾的用户名。如果我删除 * 或放置 / 我找不到任何匹配项。

我试过了

1
2
3
4
http://localhost:4900/bin/querybuilder.json?type=rep:User&nodename=username
http://localhost:4900/bin/querybuilder.json?type=rep:User&nodename=/username
http://localhost:4900/bin/querybuilder.json?type=rep:User&nodename=*/username
http://localhost:4900/bin/querybuilder.json?type=rep:User&nodename=*%2Fusername

没有成功。

有没有办法在多个路径中可靠地找到用户?

编辑

我解决了最初的问题(搜索用户):

1
http://localhost:4900/bin/querybuilder.json?type=rep:User&property=rep:principalName&property.value=username

知道如何搜索具有给定名称的节点仍然很有趣。


您上面提到的 nodename 属性似乎确实适用于此。 Adobe 文档甚至在演示查询构建器工具时使用它作为示例!这适用于我的本地环境,即使使用一些基本的正则表达式,例如:

1
http://localhost:4502/bin/querybuilder.json?nodename=cq-*-5.3.[4-9].jar

(将匹配来自 v5.3.4 的 CQ jar,不包括来自 v5.3.2 的 CQ jar。我无法通过 REST 使用 ([az]*) 获得多个字符匹配 - 假设我的语法不正确。)

或者当您说节点名时,您是指另一个属性吗? — 假设您的意思是目录结构中的名称。

最好的,

戴夫