commit | 936e8f3eb02a05b0cf88e58ae7ab37dc36890c5c | [log] [tgz] |
---|---|---|
author | Johannes Faltermeier <jfaltermeier@eclipsesource.com> | Thu Nov 24 12:24:26 2016 +0100 |
committer | Johannes Faltermeier <jfaltermeier@eclipsesource.com> | Fri Nov 25 15:46:51 2016 +0100 |
tree | b1bd2365c1dbec45b97e8b4143b5c4fd8840b652 | |
parent | d151af3c602dc934302c59110344a1bcbcaceab6 [diff] |
Bug 508057 - Missing access rights check on EMFStoreImpl#invoke Change-Id: I253dfe77d886e9b8e03c95a0530bd795e4eadf65 Signed-off-by: Johannes Faltermeier <jfaltermeier@eclipsesource.com>
diff --git a/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/core/EMFStoreImpl.java b/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/core/EMFStoreImpl.java index df72abb..9e90a47 100644 --- a/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/core/EMFStoreImpl.java +++ b/bundles/org.eclipse.emf.emfstore.server/src/org/eclipse/emf/emfstore/internal/server/core/EMFStoreImpl.java
@@ -167,6 +167,7 @@ */ public Object invoke(Object obj, final Method method, final Object[] args) throws ESException { final ESMethodInvocation methodInvocation = new ESMethodInvocation(method.getName(), args); + getAccessControl().getAuthorizationService().checkAccess(methodInvocation); final Object[] adjustedArgs = adjustParameters(args);
diff --git a/tests/org.eclipse.emf.emfstore.server.test/src/org/eclipse/emf/emfstore/server/accesscontrol/test/CreateProjectTest.java b/tests/org.eclipse.emf.emfstore.server.test/src/org/eclipse/emf/emfstore/server/accesscontrol/test/CreateProjectTest.java index 7dd08b0..3cf7831 100644 --- a/tests/org.eclipse.emf.emfstore.server.test/src/org/eclipse/emf/emfstore/server/accesscontrol/test/CreateProjectTest.java +++ b/tests/org.eclipse.emf.emfstore.server.test/src/org/eclipse/emf/emfstore/server/accesscontrol/test/CreateProjectTest.java
@@ -44,7 +44,12 @@ @Test(expected = AccessControlException.class) public void shareProjectNotPA() throws ESException { - ProjectUtil.share(getUsersession(), getLocalProject()); + try { + ProjectUtil.share(getUsersession(), getLocalProject()); + } catch (final ESException ex) { + assertTrue(getServerMock().getServerSpace().getProjects().isEmpty()); + throw ex; + } } @Test