X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=runtime%2Forg.argeo.slc.repo%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Frepo%2Fmaven%2FMavenProxyServiceImpl.java;h=fcd65d954d3dfd289fe40d1fd4144947e1214bb1;hb=1a0340b557d4cd38e763e4922a3ee4e5dcc8f6d3;hp=87ee867b71313cd29a837545129b1aa8db865600;hpb=91bba941484fdf89d8f884347c307b1efc2c34a3;p=gpl%2Fargeo-slc.git diff --git a/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/maven/MavenProxyServiceImpl.java b/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/maven/MavenProxyServiceImpl.java index 87ee867b7..fcd65d954 100644 --- a/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/maven/MavenProxyServiceImpl.java +++ b/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/maven/MavenProxyServiceImpl.java @@ -23,12 +23,15 @@ import javax.jcr.NodeIterator; import javax.jcr.RepositoryException; import javax.jcr.Session; import javax.jcr.nodetype.NodeType; +import javax.jcr.security.AccessControlException; +import javax.jcr.security.Privilege; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.argeo.jcr.ArgeoNames; import org.argeo.jcr.JcrUtils; import org.argeo.jcr.proxy.AbstractUrlProxy; +import org.argeo.slc.SlcConstants; import org.argeo.slc.SlcException; import org.argeo.slc.jcr.SlcNames; import org.argeo.slc.jcr.SlcTypes; @@ -48,6 +51,16 @@ public class MavenProxyServiceImpl extends AbstractUrlProxy implements @Override protected void beforeInitSessionSave(Session session) throws RepositoryException { + JcrUtils.addPrivilege(session, "/", SlcConstants.USER_ANONYMOUS, Privilege.JCR_READ); + try { + JcrUtils.addPrivilege(session, "/", SlcConstants.ROLE_SLC, + Privilege.JCR_ALL); + } catch (AccessControlException e) { + if (log.isTraceEnabled()) + log.trace("Cannot give jcr:all privileges to " + + SlcConstants.ROLE_SLC); + } + JcrUtils.mkdirsSafe(session, RepoConstants.DEFAULT_ARTIFACTS_BASE_PATH); Node proxiedRepositories = JcrUtils.mkdirsSafe(session, RepoConstants.PROXIED_REPOSITORIES);