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());

 

posted on 2016-09-29 10:54  C碧水蓝天S  阅读(386)  评论(0编辑  收藏  举报