Class SecurityAwareZkACLProvider

java.lang.Object
org.apache.solr.common.cloud.SecurityAwareZkACLProvider
All Implemented Interfaces:
org.apache.curator.framework.api.ACLProvider, org.apache.curator.utils.InternalACLProvider, ZkACLProvider
Direct Known Subclasses:
DigestZkACLProvider, SaslZkACLProvider, VMParamsAllAndReadonlyDigestZkACLProvider

public abstract class SecurityAwareZkACLProvider extends Object implements ZkACLProvider
ZkACLProvider capable of returning a different set of ACLs for security-related znodes (default: subtree under /security and security.json) vs non-security-related znodes.
  • Field Details

  • Constructor Details

    • SecurityAwareZkACLProvider

      public SecurityAwareZkACLProvider()
    • SecurityAwareZkACLProvider

      public SecurityAwareZkACLProvider(String chroot)
    • SecurityAwareZkACLProvider

      public SecurityAwareZkACLProvider(ZkCredentialsInjector zkCredentialsInjector)
    • SecurityAwareZkACLProvider

      public SecurityAwareZkACLProvider(ZkCredentialsInjector zkCredentialsInjector, String chroot)
  • Method Details

    • withChroot

      public SecurityAwareZkACLProvider withChroot(String chroot)
    • setZkCredentialsInjector

      public void setZkCredentialsInjector(ZkCredentialsInjector zkCredentialsInjector)
      Specified by:
      setZkCredentialsInjector in interface ZkACLProvider
      Parameters:
      zkCredentialsInjector - The ZkCredentialsInjector that injects ZK credentials
    • getACLsToAdd

      public final List<org.apache.zookeeper.data.ACL> getACLsToAdd(String zNodePath)
      Specified by:
      getACLsToAdd in interface ZkACLProvider
    • getDefaultAcl

      public final List<org.apache.zookeeper.data.ACL> getDefaultAcl()
      Specified by:
      getDefaultAcl in interface org.apache.curator.framework.api.ACLProvider
      Specified by:
      getDefaultAcl in interface org.apache.curator.utils.InternalACLProvider
    • isSecurityZNodePath

      protected boolean isSecurityZNodePath(String zNodePath)
    • createNonSecurityACLsToAdd

      protected abstract List<org.apache.zookeeper.data.ACL> createNonSecurityACLsToAdd()
      Returns:
      Set of ACLs to return for non-security related znodes
    • createSecurityACLsToAdd

      protected abstract List<org.apache.zookeeper.data.ACL> createSecurityACLsToAdd()
      Returns:
      Set of ACLs to return security-related znodes