Class SilverpeasAuthorizationConfiguration

  • All Implemented Interfaces:
    org.apache.jackrabbit.oak.security.authorization.ProviderCtx, org.apache.jackrabbit.oak.spi.security.authorization.AuthorizationConfiguration, org.apache.jackrabbit.oak.spi.security.SecurityConfiguration

    public class SilverpeasAuthorizationConfiguration
    extends org.apache.jackrabbit.oak.spi.security.ConfigurationBase
    implements org.apache.jackrabbit.oak.spi.security.authorization.AuthorizationConfiguration, org.apache.jackrabbit.oak.security.authorization.ProviderCtx
    Configuration defining the authorization mechanism Oak has to apply when a user walks across the content tree of a repository within the context of Silverpeas. The goal is to delegate the authorization on the items of the JCR to Silverpeas without using JAAS, for Silverpeas security isn't built upon JAAS.
    Author:
    mmoquillon
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface org.apache.jackrabbit.oak.spi.security.SecurityConfiguration

        org.apache.jackrabbit.oak.spi.security.SecurityConfiguration.Default
    • Field Summary

      • Fields inherited from interface org.apache.jackrabbit.oak.spi.security.authorization.AuthorizationConfiguration

        NAME
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      javax.jcr.security.AccessControlManager getAccessControlManager​(org.apache.jackrabbit.oak.api.Root root, org.apache.jackrabbit.oak.namepath.NamePathMapper namePathMapper)
      Access control management for the JCR isn't supported by Silverpeas.
      org.apache.jackrabbit.oak.security.authorization.monitor.AuthorizationMonitor getMonitor()  
      org.apache.jackrabbit.oak.spi.mount.MountInfoProvider getMountInfoProvider()  
      org.apache.jackrabbit.oak.spi.security.authorization.permission.PermissionProvider getPermissionProvider​(org.apache.jackrabbit.oak.api.Root root, String workspaceName, Set<Principal> principals)
      Gets a provider of permissions the specified principals have on the different nodes of the JCR tree rooted at the given node.
      org.apache.jackrabbit.oak.spi.security.authorization.restriction.RestrictionProvider getRestrictionProvider()
      Privileges restrictions management for the JCR isn't supported by Silverpeas.
      • Methods inherited from class org.apache.jackrabbit.oak.spi.security.ConfigurationBase

        getParameters, getRootProvider, getSecurityProvider, getTreeProvider, setParameters, setRootProvider, setSecurityProvider, setTreeProvider
      • Methods inherited from class org.apache.jackrabbit.oak.spi.security.SecurityConfiguration.Default

        getCommitHooks, getConflictHandlers, getContext, getName, getProtectedItemImporters, getRepositoryInitializer, getValidators, getWorkspaceInitializer
      • Methods inherited from interface org.apache.jackrabbit.oak.security.authorization.ProviderCtx

        getRootProvider, getSecurityProvider, getTreeProvider
      • Methods inherited from interface org.apache.jackrabbit.oak.spi.security.SecurityConfiguration

        getCommitHooks, getConflictHandlers, getContext, getMonitors, getName, getParameters, getProtectedItemImporters, getRepositoryInitializer, getValidators, getWorkspaceInitializer
    • Constructor Detail

      • SilverpeasAuthorizationConfiguration

        public SilverpeasAuthorizationConfiguration​(@Nonnull
                                                    org.apache.jackrabbit.oak.spi.security.SecurityProvider securityProvider)
    • Method Detail

      • getMountInfoProvider

        @Nonnull
        public org.apache.jackrabbit.oak.spi.mount.MountInfoProvider getMountInfoProvider()
        Specified by:
        getMountInfoProvider in interface org.apache.jackrabbit.oak.security.authorization.ProviderCtx
      • getMonitor

        @Nonnull
        public org.apache.jackrabbit.oak.security.authorization.monitor.AuthorizationMonitor getMonitor()
        Specified by:
        getMonitor in interface org.apache.jackrabbit.oak.security.authorization.ProviderCtx
      • getAccessControlManager

        @Nonnull
        public javax.jcr.security.AccessControlManager getAccessControlManager​(@Nonnull
                                                                               org.apache.jackrabbit.oak.api.Root root,
                                                                               @Nonnull
                                                                               org.apache.jackrabbit.oak.namepath.NamePathMapper namePathMapper)
        Access control management for the JCR isn't supported by Silverpeas. There is no ACL, nor access control policies defined for the JCR tree.
        Specified by:
        getAccessControlManager in interface org.apache.jackrabbit.oak.spi.security.authorization.AuthorizationConfiguration
        Parameters:
        root - the root node of the JCR
        namePathMapper - the mapper between JCR name and JCR implementation name.
        Returns:
        nothing. Throws an UnsupportedOperationException exception if invoked.
      • getRestrictionProvider

        @Nonnull
        public org.apache.jackrabbit.oak.spi.security.authorization.restriction.RestrictionProvider getRestrictionProvider()
        Privileges restrictions management for the JCR isn't supported by Silverpeas. Privileges restrictions is an extension of Oak to the existing JCR access control management.
        Specified by:
        getRestrictionProvider in interface org.apache.jackrabbit.oak.spi.security.authorization.AuthorizationConfiguration
        Returns:
        nothing. Throws an UnsupportedOperationException exception if invoked.
      • getPermissionProvider

        @Nonnull
        public org.apache.jackrabbit.oak.spi.security.authorization.permission.PermissionProvider getPermissionProvider​(@Nonnull
                                                                                                                        org.apache.jackrabbit.oak.api.Root root,
                                                                                                                        @Nonnull
                                                                                                                        String workspaceName,
                                                                                                                        @Nonnull
                                                                                                                        Set<Principal> principals)
        Gets a provider of permissions the specified principals have on the different nodes of the JCR tree rooted at the given node.
        Specified by:
        getPermissionProvider in interface org.apache.jackrabbit.oak.spi.security.authorization.AuthorizationConfiguration
        Parameters:
        root - the root node of the repository content tree.
        workspaceName - the name of the JCR workspace the content tree belongs to.
        principals - a set of principals referring the Silverpeas user accessing the content tree.
        Returns:
        a PermissionProvider object whose goal is to delegate the permission resolution to the authorization engine of Silverpeas.