From 0fa50894e8e37d657924fd69cc29f46aae683e65 Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Sun, 27 Oct 2019 10:02:19 +0100 Subject: [PATCH] Security in Jcr singleton. --- org.argeo.jcr/src/org/argeo/jcr/Jcr.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/org.argeo.jcr/src/org/argeo/jcr/Jcr.java b/org.argeo.jcr/src/org/argeo/jcr/Jcr.java index 608f89736..43e47daca 100644 --- a/org.argeo.jcr/src/org/argeo/jcr/Jcr.java +++ b/org.argeo.jcr/src/org/argeo/jcr/Jcr.java @@ -14,6 +14,7 @@ import javax.jcr.Repository; import javax.jcr.RepositoryException; import javax.jcr.Session; import javax.jcr.Value; +import javax.jcr.security.Privilege; import javax.jcr.version.Version; import javax.jcr.version.VersionHistory; import javax.jcr.version.VersionIterator; @@ -337,6 +338,23 @@ public class Jcr { } } + /* + * SECURITY + */ + /** + * Add a single privilege to a node. + * + * @see Privilege + */ + public static void addPrivilege(Node node, String principal, String privilege) { + try { + Session session = node.getSession(); + JcrUtils.addPrivilege(session, node.getPath(), principal, privilege); + } catch (RepositoryException e) { + throw new IllegalStateException("Cannot add privilege " + privilege + " to " + node, e); + } + } + /* * VERSIONING */ -- 2.30.2