我们有一个外部身份管理系统,必须使用Sling和REST管理CQ5中用户的生命周期。
我们可以使用
创建和删除用户和组创建
POST http://$host:$port/libs/cq/security/authorizables/POST
Content: rep:userId=example@example.org&givenName=Example&familyName=Example&email=example@example.org&rep:password=random
删除
POST http://$host:$port/home/users/e/example@example.org.delete.json
Content: deleteAuthorizable=1
我们的问题是我们没有找到如何重命名用户(或群组)。
我们如何重命名用户?
我们找到的唯一解决方案是
虽然这个解决方案可行,但它很可能会造成一些性能问题(我们有超过70,000个用户和超过15K组)。如果这是唯一的解决方案:我们如何通过REST有效地执行第一步(列出所有成员资格)
答案 0 :(得分:1)
知道这不能解决您的问题,但只是指出通过REST重命名似乎是不行的。 docs似乎相当明确:
jackrabbit-usermanager软件包提供REST接口,用于在JCR中创建,更新和删除用户和组。
更新现有用户POST请求/system/userManager/user/username.update .. 您无法更新用户名或密码(请参阅下面的更改密码)仅限其他属性可通过此URL更新。
虽然在同一页面上,对特定用户的查询似乎应该恢复其组成员资格:
$ curl http://localhost:8080/system/userManager/user/admin.tidy.1.json
{
"memberOf": [],
"declaredMemberOf": []
}
不确定CQ是否以这种方式锁定对用户信息的访问。