Vá para o aplicativo CRXDE lite /crx/de/index.jsp e faça o logon como usuário admin (no sistema antigo).
Problema
Ao migrar usuários e grupos de uma instância do AEM para outra através do Gerenciador de Pacotes, o erro abaixo é mostrado:
26.01.2017 16:03:20.024 *ERROR* [qtp2078058939-7783] org.apache.jackrabbit.vault.fs.io.Importer Error while committing : javax.jcr.nodetype.ConstraintViolationException: OakConstraint0027: The admin user cannot be removed. javax.jcr.nodetype.ConstraintViolationException: OakConstraint0027: The admin user cannot be removed. Caused by: org.apache.jackrabbit.oak.api.CommitFailedException: OakConstraint0027: The admin user cannot be removed
Ambiente
CQ5.x, AEM 6.x
Resolução
Ao integrar usuários e grupos, certifique-se de evitar integrar os usuários prontos para uso, incluindo os usuários admin e anônimos. Além disso, você deve usar o modo de filtragem de mesclagem de pacote.
-
-
Vá para Ferramentas=> Consulta
-
Na caixa Consulta na parte inferior, digite esta consulta para encontrar o usuário admin:
/jcr:root/home/users//element(*,rep:User)[@rep:principalName="admin"]
-
Clique em Executar e copie o caminho do nó do usuário administrador nos resultados para um arquivo de texto.
-
Repita a etapa 3 com uma consulta para usuário anônimo:
/jcr:root/home/users//element(*,rep:User)[@rep:principalName="anonymous"]
-
Clique em Executar e copie o caminho do nó do usuário anônimo nos resultados para um arquivo de texto (agora você deverá ter dois caminhos, um para "administrador" e outro para "anônimo")
Por exemplo:
/home/users/Q/QY5FIMXeQIbGpwZtQ3Dv - usuário administrador no sistema em que estou criando o pacote
/home/users/K/Kj1406Qo9IDODc_nk5Ib - usuário anônimo no sistema em que estou criando o pacote -
Vá para o gerenciador de pacotes do AEM, http://host:port/crx/packmgr/index.jsp, e efetue login como administrador.
-
Crie um pacote "usuários"
-
Adicione um filtro à configuração do pacote para /home/users com estas regras de exclusão (no filtro /home/users):
exclude /home/users/.*/.tokens
exclude /home/users/Q/QY5FIMXeQIbGpwZtQ3Dv
exclude /home/users/K/Kj1406Qo9IDODc_nk5Ib
exclude /home/users/a/admin
exclude /home/users/a/anonymous
exclude /home/users/system
exclude /home/users/geometrixx
exclude /home/users/media
exclude /home/users/projects
exclude /home/users/mac -
Crie o pacote.
-
Baixe o pacote.
-
Descompacte o arquivo zip do pacote no seu computador.
-
Abra o arquivo META-INF/vault/filter.xml em um editor de texto.
-
Adicione mode="merge" à tag, por exemplo:
<?xml version="1.0" encoding="UTF-8"?> <workspaceFilter version="1.0"> <filter root="/home/users" mode="merge"> <exclude pattern="/home/users/.*/.tokens"/> <exclude pattern="/home/users/Q/QY5FIMXeQIbGpwZtQ3Dv"/> <exclude pattern="/home/users/K/Kj1406Qo9IDODc_nk5Ib"/> <exclude pattern="/home/users/a/admin"/> <exclude pattern="/home/users/a/anonymous"/> <exclude pattern="/home/users/system"/> <exclude pattern="/home/users/geometrixx"/> <exclude pattern="/home/users/media"/> <exclude pattern="/home/users/projects"/> <exclude pattern="/home/users/mac"/> </filter> </workspaceFilter>
-
Volte a compactar o conteúdo modificado do pacote em zip para incluir a alteração.
-
Crie um pacote "grupos" que contenha uma regra de filtragem /home/groups.
-
Repita as etapas 10 a 15 para o pacote de grupos.
-
(Apenas atualização): se estiver executando a migração para a versão mais recente do AEM, instale uma nova instância AEM local (com nosamplecontent). Instale o pacote de usuários e o pacote grupos nessa instância. Em seguida, execute uma atualização no local nessa instância. Após a atualização, reintegre os usuários novamente e, em seguida, os grupos. Baixe a versão mais recente dos pacotes.
-
Instale o pacote de usuários no novo sistema.
-
Instale o pacote de grupos no novo sistema.