Zookeeper acl允许任何经过身份验证的用户

时间:2018-01-22 11:52:55

标签: authentication apache-zookeeper acl

我想在zookeeper上使用自定义登录模块,然后允许任何具有登录功能的经过身份验证的用户对znode执行任何操作。我该怎么做呢?

setAcl /znode auth:crdwa

不是有效的acl分配。如果没有其他方法可以指定用户名,我是否可以至少设置acl而不指定密码?类似的东西:

setAcl /znode auth:user:crdwa

我希望使用自定义登录模块来处理身份验证。

1 个答案:

答案 0 :(得分:0)

zkCli中zookeeper acl的正确示例是:

首先让我们生成密码:

java -cp zookeeper-3.4.6.jar:lib/log4j-1.2.16.jar:lib/slf4j-log4j12-1.6.1.jar:lib/slf4j-api-1.6.1.jar    org.apache.zookeeper.server.auth.DigestAuthenticationProvider u1:p1
u1:p1->u1:fpT/y03U+EjItKZOSLGvjnJlyng=

在zkCli会话中,让我们进行身份验证:

addauth digest u1:p1

然后让我们将ACL设置为某个节点:

[zk: localhost:2181(CONNECTED) 14] setAcl /someZNode digest:u1:fpT/y03U+EjItKZOSLGvjnJlyng=:crdwa

如果计划使用自定义登录模块,则应根据Pluggable Zookeeper Authentication实现AuthenticationProvider,并将实现类的jar文件放入{zookeeperDir} / lib目录