Apache Curator中的ACL用于访问控制.因此,ZooKeeper不提供任何身份验证机制,如没有正确密码的客户端无法连接到ZooKeeper或无法创建ZNodes.它可以做的是防止未经授权的客户端访问特定的Znode / ZNodes.为了做到这一点,你必须设置CuratorFramework实例,如下所述.请记住,这样可以保证具有给定ACL的ZNode创建可以由同一客户端或呈现相同身份验证信息的客户端重新访问.
首先,你应该如下建立策展人框架的内容.这里,connectString表示您的合奏中zookeeper服务器的ip和port组合的逗号分隔列表.
CuratorFrameworkFactory.Builder builder = CuratorFrameworkFactory.builder()
.connectString(connectString)
.retryPolicy(new ExponentialBackoffRetry(retryInitialWaitMs, maxRetryCount))
.connectionTimeoutMs(connectionTimeoutMs)
.sessionTimeoutMs(sessionTimeoutMs);
/*
* If authorization information is available, those will be added to the client. NOTE: These auth info are
* for access control, therefore no authentication will happen when the client is being started. These
* info will only be required whenever a client is accessing an already create ZNode. For another client of