diff options
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.server.security/src/org/eclipse/emf/cdo/server/spi/security/HomeFolderHandler.java')
-rw-r--r-- | plugins/org.eclipse.emf.cdo.server.security/src/org/eclipse/emf/cdo/server/spi/security/HomeFolderHandler.java | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/plugins/org.eclipse.emf.cdo.server.security/src/org/eclipse/emf/cdo/server/spi/security/HomeFolderHandler.java b/plugins/org.eclipse.emf.cdo.server.security/src/org/eclipse/emf/cdo/server/spi/security/HomeFolderHandler.java index e16756e9aa..bc25ea01c6 100644 --- a/plugins/org.eclipse.emf.cdo.server.security/src/org/eclipse/emf/cdo/server/spi/security/HomeFolderHandler.java +++ b/plugins/org.eclipse.emf.cdo.server.security/src/org/eclipse/emf/cdo/server/spi/security/HomeFolderHandler.java @@ -11,7 +11,7 @@ package org.eclipse.emf.cdo.server.spi.security; import org.eclipse.emf.cdo.security.Access; -import org.eclipse.emf.cdo.security.Inclusion; +import org.eclipse.emf.cdo.security.PatternStyle; import org.eclipse.emf.cdo.security.Realm; import org.eclipse.emf.cdo.security.Role; import org.eclipse.emf.cdo.security.SecurityFactory; @@ -43,6 +43,8 @@ public class HomeFolderHandler implements InternalSecurityManager.CommitHandler2 { public static final String DEFAULT_HOME_FOLDER = "/home"; + private static final SecurityFactory SF = SecurityFactory.eINSTANCE; + private final String homeFolder; public HomeFolderHandler(String homeFolder) @@ -80,12 +82,11 @@ public class HomeFolderHandler implements InternalSecurityManager.CommitHandler2 protected void initRole(Role role) { - role.getPermissions().add( - SecurityFactory.eINSTANCE.createFilterPermission(Access.WRITE, - SecurityFactory.eINSTANCE.createResourceFilter(homeFolder + "/${user}", Inclusion.EXACT_AND_DOWN))); - role.getPermissions().add( - SecurityFactory.eINSTANCE.createFilterPermission(Access.READ, - SecurityFactory.eINSTANCE.createResourceFilter(homeFolder, Inclusion.EXACT_AND_UP))); + role.getPermissions().add(SF.createFilterPermission(Access.WRITE, // + SF.createResourceFilter(homeFolder + "/${user}", PatternStyle.TREE, false))); + + role.getPermissions().add(SF.createFilterPermission(Access.READ, // + SF.createResourceFilter(homeFolder, PatternStyle.EXACT, true))); } public void handleCommit(final InternalSecurityManager securityManager, CommitContext commitContext, User user) |