Class AbstractAccessControlManager

  • All Implemented Interfaces:
    javax.jcr.security.AccessControlManager, org.apache.jackrabbit.api.security.JackrabbitAccessControlManager, AccessControlConstants

    @ProviderType
    public abstract class AbstractAccessControlManager
    extends java.lang.Object
    implements org.apache.jackrabbit.api.security.JackrabbitAccessControlManager, AccessControlConstants
    Default implementation of the JackrabbitAccessControlManager interface. This implementation covers both editing access control content by path and by Principal resulting both in the same content structure.
    • Constructor Detail

      • AbstractAccessControlManager

        protected AbstractAccessControlManager​(@NotNull
                                               @NotNull org.apache.jackrabbit.oak.api.Root root,
                                               @NotNull
                                               @NotNull org.apache.jackrabbit.oak.namepath.NamePathMapper namePathMapper,
                                               @NotNull
                                               @NotNull SecurityProvider securityProvider)
    • Method Detail

      • getSupportedPrivileges

        @NotNull
        public @NotNull javax.jcr.security.Privilege[] getSupportedPrivileges​(@Nullable
                                                                              @Nullable java.lang.String absPath)
                                                                       throws javax.jcr.RepositoryException
        Specified by:
        getSupportedPrivileges in interface javax.jcr.security.AccessControlManager
        Throws:
        javax.jcr.RepositoryException
      • privilegeFromName

        @NotNull
        public @NotNull javax.jcr.security.Privilege privilegeFromName​(@NotNull
                                                                       @NotNull java.lang.String privilegeName)
                                                                throws javax.jcr.RepositoryException
        Specified by:
        privilegeFromName in interface javax.jcr.security.AccessControlManager
        Throws:
        javax.jcr.RepositoryException
      • hasPrivileges

        public boolean hasPrivileges​(@Nullable
                                     @Nullable java.lang.String absPath,
                                     @Nullable
                                     @Nullable javax.jcr.security.Privilege[] privileges)
                              throws javax.jcr.RepositoryException
        Specified by:
        hasPrivileges in interface javax.jcr.security.AccessControlManager
        Throws:
        javax.jcr.RepositoryException
      • getPrivileges

        @NotNull
        public @NotNull javax.jcr.security.Privilege[] getPrivileges​(@Nullable
                                                                     @Nullable java.lang.String absPath)
                                                              throws javax.jcr.RepositoryException
        Specified by:
        getPrivileges in interface javax.jcr.security.AccessControlManager
        Throws:
        javax.jcr.RepositoryException
      • hasPrivileges

        public boolean hasPrivileges​(@Nullable
                                     @Nullable java.lang.String absPath,
                                     @NotNull
                                     @NotNull java.util.Set<java.security.Principal> principals,
                                     @Nullable
                                     @Nullable javax.jcr.security.Privilege[] privileges)
                              throws javax.jcr.RepositoryException
        Specified by:
        hasPrivileges in interface org.apache.jackrabbit.api.security.JackrabbitAccessControlManager
        Throws:
        javax.jcr.RepositoryException
      • getPrivileges

        @NotNull
        public @NotNull javax.jcr.security.Privilege[] getPrivileges​(@Nullable
                                                                     @Nullable java.lang.String absPath,
                                                                     @NotNull
                                                                     @NotNull java.util.Set<java.security.Principal> principals)
                                                              throws javax.jcr.RepositoryException
        Specified by:
        getPrivileges in interface org.apache.jackrabbit.api.security.JackrabbitAccessControlManager
        Throws:
        javax.jcr.RepositoryException
      • getPrivilegeCollection

        @NotNull
        public @NotNull org.apache.jackrabbit.api.security.authorization.PrivilegeCollection getPrivilegeCollection​(@Nullable
                                                                                                                    @Nullable java.lang.String absPath)
                                                                                                             throws javax.jcr.RepositoryException
        Specified by:
        getPrivilegeCollection in interface org.apache.jackrabbit.api.security.JackrabbitAccessControlManager
        Throws:
        javax.jcr.RepositoryException
      • getPrivilegeCollection

        @NotNull
        public @NotNull org.apache.jackrabbit.api.security.authorization.PrivilegeCollection getPrivilegeCollection​(@Nullable
                                                                                                                    @Nullable java.lang.String absPath,
                                                                                                                    @NotNull
                                                                                                                    @NotNull java.util.Set<java.security.Principal> principals)
                                                                                                             throws javax.jcr.RepositoryException
        Specified by:
        getPrivilegeCollection in interface org.apache.jackrabbit.api.security.JackrabbitAccessControlManager
        Throws:
        javax.jcr.RepositoryException
      • privilegeCollectionFromNames

        @NotNull
        public @NotNull org.apache.jackrabbit.api.security.authorization.PrivilegeCollection privilegeCollectionFromNames​(@NotNull
                                                                                                                          @NotNull java.lang.String... privilegeNames)
                                                                                                                   throws javax.jcr.RepositoryException
        Specified by:
        privilegeCollectionFromNames in interface org.apache.jackrabbit.api.security.JackrabbitAccessControlManager
        Throws:
        javax.jcr.RepositoryException
      • getRoot

        @NotNull
        protected @NotNull org.apache.jackrabbit.oak.api.Root getRoot()
      • getLatestRoot

        @NotNull
        protected @NotNull org.apache.jackrabbit.oak.api.Root getLatestRoot()
      • getNamePathMapper

        @NotNull
        protected @NotNull org.apache.jackrabbit.oak.namepath.NamePathMapper getNamePathMapper()
      • getPrivilegeManager

        @NotNull
        protected @NotNull org.apache.jackrabbit.api.security.authorization.PrivilegeManager getPrivilegeManager()
      • getPrivilegeBitsProvider

        @NotNull
        protected @NotNull PrivilegeBitsProvider getPrivilegeBitsProvider()
      • getOakPath

        @Nullable
        protected @Nullable java.lang.String getOakPath​(@Nullable
                                                        @Nullable java.lang.String jcrPath)
                                                 throws javax.jcr.RepositoryException
        Throws:
        javax.jcr.RepositoryException
      • getOakPaths

        @NotNull
        protected @NotNull java.util.Collection<java.lang.String> getOakPaths​(@Nullable
                                                                              @Nullable java.lang.String... jcrPaths)
                                                                       throws javax.jcr.RepositoryException
        Throws:
        javax.jcr.RepositoryException
      • getTree

        @NotNull
        protected @NotNull org.apache.jackrabbit.oak.api.Tree getTree​(@Nullable
                                                                      @Nullable java.lang.String oakPath,
                                                                      long permissions,
                                                                      boolean checkAcContent)
                                                               throws javax.jcr.RepositoryException
        Throws:
        javax.jcr.RepositoryException
      • getPermissionProvider

        @NotNull
        protected @NotNull PermissionProvider getPermissionProvider()