1.创建一个变量存放模式信息, private static final String MODE = "digest"; //ACL模式
2.在一个类的构造函数内放入初始化信息
public List<ACL> createACL() throws NoSuchAlgorithmException, IOException{ List<ACL> acls = new ArrayList<ACL>();
//初始化一个root用户
//ifm 为系统的名称,这段话的意思是只有ifm这个系统 拥有所有的权限CRUD
Id superId = new Id(MODE, DigestAuthenticationProvider.generateDigest(aclAdmin));
//初始化一个root用户
//这个用户的权限是只读权限,不具增删改权限,而且world代表所有用户可以读
Id userId = new Id("world","anyone");
ACL acl = new ACL(ZooDefs.Perms.ALL, superId);
ACL acl2 = new ACL(ZooDefs.Perms.READ, userId);
acls.add(acl);
acls.add(acl2);
return acls;
}
3.引用acl权限
如上图,是Zookeeper的配置文件
//aclAdmin是Zookeeper配置文件的一个属性 aclAdmin = properties.getProperty("zookeeperAclAdmin"); 对象.addAuthInfo(MODE, aclAdmin.getBytes());