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-Logo

Bei Ihrem Konto anmelden