У нас есть внешняя система управления идентификацией, которая должна управлять жизненным циклом пользователей в CQ5 с помощью Sling и REST.
Мы можем создавать и удалять пользователей и группы с
Создавать
POST http://$host:$port/libs/cq/security/authorizables/POST Content: rep:[email protected]&givenName=Example&familyName=Example&[email protected]&rep:password=random
Удалить
POST http://$host:$port/home/users/e/[email protected] Content: deleteAuthorizable=1
Наша проблема в том, что мы не выяснили, как переименовать пользователя (или группу).
Как мы можем переименовать пользователя?
Единственное решение, которое мы нашли, состояло в том, чтобы
- перечислить все членства в группах пользователя
- удалить пользователя
- создать нового пользователя
- воссоздать все членство в группе
Хотя это решение может сработать, оно, скорее всего, вызовет некоторые проблемы с производительностью (у нас более 70 000 пользователей и более 15 000 групп). Если это единственное решение: как мы можем эффективно выполнить первый шаг (перечислить все членства) через REST