Class AbstractAccessControlManager

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

    public abstract class AbstractAccessControlManager
    extends 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 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 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 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 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 String absPath,
                                     @NotNull
                                     @NotNull Set<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 String absPath,
                                                                     @NotNull
                                                                     @NotNull Set<Principal> principals)
                                                              throws javax.jcr.RepositoryException
        Specified by:
        getPrivileges 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()
      • getOakPath

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

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

        @NotNull
        protected @NotNull PermissionProvider getPermissionProvider()