Class SilverpeasPermissionProvider

  • All Implemented Interfaces:
    org.apache.jackrabbit.oak.spi.security.authorization.permission.PermissionProvider

    public class SilverpeasPermissionProvider
    extends Object
    implements org.apache.jackrabbit.oak.spi.security.authorization.permission.PermissionProvider
    This provider covers permission validation of a given user in Silverpeas upon read and write access on the JCR content tree. It delegates the validation to the SilverpeasTreePermission instances.
    Author:
    mmoquillon
    • Method Detail

      • refresh

        public void refresh()
        Specified by:
        refresh in interface org.apache.jackrabbit.oak.spi.security.authorization.permission.PermissionProvider
      • getPrivileges

        @Nonnull
        public Set<String> getPrivileges​(@Nullable
                                         org.apache.jackrabbit.oak.api.Tree tree)
        Only the system user and users with administration rights have full access. For any other user, the access is read-only.
        Specified by:
        getPrivileges in interface org.apache.jackrabbit.oak.spi.security.authorization.permission.PermissionProvider
        Parameters:
        tree - The tree for which the privileges should be retrieved.
        Returns:
        a set of privilege names.
      • hasPrivileges

        public boolean hasPrivileges​(@Nullable
                                     org.apache.jackrabbit.oak.api.Tree tree,
                                     @Nonnull
                                     String... privilegeNames)
        Specified by:
        hasPrivileges in interface org.apache.jackrabbit.oak.spi.security.authorization.permission.PermissionProvider
      • getRepositoryPermission

        @Nonnull
        public org.apache.jackrabbit.oak.spi.security.authorization.permission.RepositoryPermission getRepositoryPermission()
        Specified by:
        getRepositoryPermission in interface org.apache.jackrabbit.oak.spi.security.authorization.permission.PermissionProvider
      • getTreePermission

        @Nonnull
        public org.apache.jackrabbit.oak.spi.security.authorization.permission.TreePermission getTreePermission​(@Nonnull
                                                                                                                org.apache.jackrabbit.oak.api.Tree tree,
                                                                                                                @Nonnull
                                                                                                                org.apache.jackrabbit.oak.spi.security.authorization.permission.TreePermission parentPermission)
        Specified by:
        getTreePermission in interface org.apache.jackrabbit.oak.spi.security.authorization.permission.PermissionProvider
      • isGranted

        public boolean isGranted​(@Nonnull
                                 org.apache.jackrabbit.oak.api.Tree tree,
                                 @Nullable
                                 org.apache.jackrabbit.oak.api.PropertyState property,
                                 long permissions)
        Specified by:
        isGranted in interface org.apache.jackrabbit.oak.spi.security.authorization.permission.PermissionProvider
      • isGranted

        public boolean isGranted​(@Nonnull
                                 String oakPath,
                                 @Nonnull
                                 String jcrActions)
        Specified by:
        isGranted in interface org.apache.jackrabbit.oak.spi.security.authorization.permission.PermissionProvider