Como faço para verificar privilégios de usuário?

Pergunta/Sintomas

Como faço para verificar se um usuário tem privilégio para realizar uma ação específica?

Resposta / Resolução

Para verificar se um usuário tem acesso de gravação a uma página:

public boolean hasWriteAccess(Node pageNode, Session userSession) throws RepositoryException { String path = pageNode.getPath(); try { userSession.checkPermission(path, "add_node,set_property"); if(pageNode.hasNode(JcrConstants.JCR_CONTENT)) { String contentNodePath = path + "/" + "jcr:content"; userSession.checkPermission(contentNodePath, "add_node,set_property"); } } catch(java.security.AccessControlException e) { return false; } return true; }

Para verificar se um usuário pode ativar páginas:

final User u = resourceResolver.adaptTo(User.class); // ou: final User u = SecurityUtil.resolveUser(session); return u.hasPermission(Replicator.REPLICATION_PERMISSION);

Referência

Veja 5.2 API para usuário

Aplica-se a

CQ5.1, CQ5.2

 Adobe

Receba ajuda com mais rapidez e facilidade

Novo usuário?

Adobe MAX 2024

Adobe MAX

The Creativity Conference

14 a 16 de outubro, Miami Beach e online

Adobe MAX 2024

Adobe MAX

The Creativity Conference

14 a 16 de outubro, Miami Beach e online