zoopkeeper 的ACL操作
2024-10-07 03:08:34
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权限
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAYsAAABHCAIAAAB53/ynAAAJMUlEQVR4nO2dvU7zPBiGfTwcQhbeg+je5VWOoR0Q38KeBYmlK0JiRMpIhdSVDbFkQCwMcALv5m9wfmw/P/khbV24LyFE69hxkj5XH9spNdbj379/FgAAksH4D2AoAEBSwFAAgHSBoQAA6QJDAQDSBYYCAKQLDAUASBcYCgCQLjAUACBdkjPU+9PF+eXF7dex+3FAzi+Xx+4CAIliVsXjZ/OAGOrj9np59Wqttfb15vzyZrf/Dp2uoc4vl/qPXvdAvQTgpDAvd6vV6u7FWssY6vmqkcX70wUMpRNZpvfhZJ0B8Hsw1r7crepEKjbU18Nf31DXD+/779DvMdTwpgD4tRhrPx+LOovyDPV8Jb69X9x+uUEfKbp/9loOWqiHigNKI0O9P110O2XqUpeJpbv75fn1w7u/QdBhteVG1k1/mF3DUADMjrFeEhXnUN7c0+6exnPH7n4ZjAFfb84vl3+fPtwjF9XtQ700MJTzIBVf8wxJuLTS3X0oxLAbPS1/PfwNpPZxe72MkspRAzcYCoAhmM/HYrWSDVUH4cfttR/MNt4syIOY6PUUppd6amD0RFToWmu2GVAq9lOvWxvK6wwdjWIeCoDZMcXjy2PBG8qbe1IMFaQe1tbBHG3cxbNe2v79xOiJ2Vc3dustpQ7yn+mp67pNxqoBGOUBMDvSPJS1gaGer4T4DMLYwQbz641vKLHU+hM91InS7JhnGbGUMZS3QNlTd6Ch5hrlAQAcxgkqWsvzNaFNh3tm6Zglh/qigzLLZjqDS0fnUPSgDpZDAQAcyv1Q3sjOu+3A4/mKSXNsPINjrQ1SLb3Ut9XH7XUsKSZlE9rhS/VZKuV2ChgKgGNgVt5N5aKhuBvKtZDmVuu68FZLwxloN/gia2pSsqOWRoba3Y9uWTEUNY6iJOgJgIEon8vz5p6oodj7ocgNB8zzfaXSMr9nh3jOKMzjxNL2boP6h9Gr3DIMBcAxSO6Tw/uDzkPNRe/CnD9TDj0BMJxvGOq/P6f19+5+af/7sxu8/ZS/AQCzMtVQLixP7ff55c1eWgYA7IdJhjp2NjTt726Uh+wJgBPhF81DAQBODhgKAJAuMBQAIF1gKABAusBQAIB0OYKhqiIzJiuqA+wqEcrcdOTld5saee7c3vdywtfGnhm7kVt2G7if9bcO/OewNnZRjK6in2eeyi6aky/tMf0rqHwub1+csqEa10zTTJnLVQe2fEqGWht7ltm3b7R8lnNPtj9+qYvGcHd+97Z5WDeM2zWJQLf99tt9Zjc7jKG6HZWiX/Z3BefC/W+DWlIwVA9lbkxeFNlERSmGGtryBEMdCTkqBtbdFLEjotgOoquspdMFW8m/828yJupquXjPjzaU0GfKBENNoQzOxnqAOtkWjp751t/1wv4Huz1xuoYqc2PyUk2FeuvzFQe3fGKGGj0wsdY6O+RMhNDY7t7k3cZ5t8E2t4vcLoYbKgs2Hmsoqc+UwxjqrZjHUNOu4IwYJyinqMBQweQJO4miT6+IpZGhqiIz8TDEr0vjUSxtwtfbIO6W3HJVZCYrqrY/dNe1RkTTeDV5z4gC0luOr0TdrbrDdWleNvvveq1doAHnSqN/eoJ9fVd2Yeym6kZVLpDo6My1GcUVjW3nkU1V725bdlpZG7utxhgqt5us2x1rKGXUI/W5q0hHlwPOhnKet3m9ZbeNv9+y25FrNqq+1ys4I6ZY3T02/2VTyaHi0ClzPxZcbEShIZUGhnIBQsXXPEMSLq20jba6POxGT8utX+oN2D3Xj2kmE58BW+Y04CVDKS27drs6XnlVZCbLsqyoXFezTMrCuCfZczU6MaQpQxmEYvfjXsGVXRi7yOymqk2xoHmHFxhtEDqoodrYe2uGV7Upyjpc12MMFe86MhQdSIZFbJ/rCTLWs0POhnSevZm1+nmyzSazZ8YuMnV2bB9XcFbM42f3dVSioeKXLzNQ8zbRS71iRk80Uip/cmZAqdhPvS5xAae/9lEkkoEDV8ECSstEhZGh/NQrK6r4mJT9knNFLhEHaXnKO7CLli79qcjwqo1wMpkSj4/K2FBvhT3L7TbvMpqoimYob/tROZTS51hYxFD62YgOM94pGQXTNEpZyJNa9osmXMF5Mdb2GooP7Sggu+f00vbvgtETG0xRhiGXMsXeMz11+dgWtuWqDpgd4g2ltMwfkH8e42MbZyj/uUlJ1KTXt9u+U0D4+qbT4f6Km2ao9k0+swtvrDfKUK3pRs1D6X2mK5K+ofSzER2mD+2hvy9XWidQrbvpFdnDFZwXY233XQqsoZi5WTEM9Lfx4L0/mFIJt5PfvPVSJsjiKFbSAt1Q7OhLFonciHZmSMv03P90Q5FavlCUUZ6fqvjTSWMN1XZmhKFG9vkQhiKTUGd5J9/elqXjGtfnmWi+c5jOlNe95NaOZsmhmknankEe6U1PnjMmh6IHJZULeouPqAd1Pohr+ViG2u8oT3l9s3ctte1IM+VbbjDlGG2opqnNYEON7fMBDBWlS5smk2JO0SkYSrnbQFrbZuKADx2uIS+e60iIA0UO9v5SfZZK0YhmKK5qnOsMyD/6Bpqk5bhPwXz8T8yhmHGcm5otuNJoTkQwVDTI6jVUOxk8cB5K77Of0NnGHQc2lG1W7pgJqfQNJX8blRrS3GpduOIkloYZh8shyJqaFCpqaRRk8VLegJbl2ylpkb4mOWwtr6/lOPfM8jz7uYYSWmudErggvIlcMlQkCDvEUF7SsSVHFB9UX599WbjJsnV2iHmoSKbtvQXBEcn9b4uOb6hWT3bI/VBk8UdK/5VSaZlfatpwIx22VK/Ws4lsKCl2hRu79BMV7HlIy13tvLTtXVt2gKHk/XIHNcZQwoI0Dd1Rr29p6qcN8uiuonhlXTVU/6deuFWwqDM0h+rtc7DrvO7SUEOp51k3lCV3PNUTUq7Kfq7gPvhR/9tg2j09AIBkgaEAAOkCQwEA0gWGAgCky48yFADghwFDAQDSBYYCAKQLDAUASBcYCgCQLjAUACBdTPeZFxgKAJAYMBQAIF1gKABAusBQAIB0gaEAAOkCQwEA0gWGAgCkCwwFAEgXGAoAkC4wFAAgXWAoAEC6mFWN8I2eAABwPPDJYQBAusBQAIB0gaEAAOkCQwEA0gWGAgCky/964TQW7IupkgAAAABJRU5ErkJggg==" alt="" />
如上图,是Zookeeper的配置文件
//aclAdmin是Zookeeper配置文件的一个属性 aclAdmin = properties.getProperty("zookeeperAclAdmin"); 对象.addAuthInfo(MODE, aclAdmin.getBytes());
最新文章
- (十一)socket、connect、bind函数详解
- ionic 通过PouchDB + SQLite来实现app的本地存储(Local Storage)
- Xamarin.Android之UI Test简单入门
- HDU #5733 tetrahedron
- 【BZOJ】1015: [JSOI2008]星球大战starwar
- 读书笔记-----Java并发编程实战(二)对象的共享
- [Jquery] jQuery.cookie帮助类 (转载)
- eclipse/myeclipse选中编辑区域文件,Package Explorer定位文件所在项目及目录
- docker 镜像中包含数据库环境和运行环境
- h3c dhcp snooping
- iOS 英语
- 移动端 去除onclick点击事件出现的背景色框
- Apache Struts2高危漏洞(S2-057CVE-2018-11776)
- 使用requests模块保存网络上的图片
- Ext.js项目(二)
- Delphi TStringHelper用法详解
- ucosii笔记(一)
- bzoj千题计划233:bzoj 1304: [CQOI2009]叶子的染色
- php版本CKEditor 4和CKFinder安装及配置
- linux系统编程:线程原语