Wie überprüfe ich Benutzerberechtigungen?

Frage/Symptome

Wie kann ich überprüfen, ob ein Benutzer berechtigt ist, eine bestimmte Aktion auszuführen?

Antwort / Auflösung

Um zu überprüfen, ob ein Benutzer Schreibzugriff auf eine Seite hat:

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

Um zu prüfen, ob ein Benutzer Seiten aktivieren kann:

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

Referenz

Weitere Informationen finden sich unter 5.2 API für Benutzer.

Gilt für

CQ5.1, CQ5.2

 Adobe

Schneller und einfacher Hilfe erhalten

Neuer Benutzer?

Adobe MAX 2024

Adobe MAX
Die Konferenz für Kreative

14. bis 16. Oktober in Miami Beach und online

Adobe MAX

Die Konferenz für Kreative

14. bis 16. Oktober in Miami Beach und online

Adobe MAX 2024

Adobe MAX
Die Konferenz für Kreative

14. bis 16. Oktober in Miami Beach und online

Adobe MAX

Die Konferenz für Kreative

14. bis 16. Oktober in Miami Beach und online