How do I check user privileges?

Question / Symptoms

How do I check if a user has privilege to perform a specific action?

Answer / Resolution

To check if a user has write access to a page:

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; 
} 

To check if a user can activate pages:

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

Reference

See 5.2 API for User

Applies to

CQ5.1, CQ5.2

 Adobe

Nhận trợ giúp nhanh chóng và dễ dàng hơn

Bạn là người dùng mới?

Adobe MAX 2024

Adobe MAX
Hội thảo sáng tạo

14–16/10 Bãi biển Miami và trực tuyến

Adobe MAX

Hội thảo sáng tạo

14–16/10 Bãi biển Miami và trực tuyến

Adobe MAX 2024

Adobe MAX
Hội thảo sáng tạo

14–16/10 Bãi biển Miami và trực tuyến

Adobe MAX

Hội thảo sáng tạo

14–16/10 Bãi biển Miami và trực tuyến