ZK ACL訪問的乙個小demo

2021-06-01 11:15:30 字數 1160 閱讀 1620

zookeeper zk=new zookeeper("192.168.1.188,192.168.1.189,192.168.1.190",50000,w);

arraylistacls = new arraylist();

acl acl1=new acl(zoodefs.perms.all, new id("digest", digestauthenticationprovider.generatedigest("qingxu:taobao123")));

//或者把以上兩行換成如下三行

// zk.addauthinfo("digest","qingxu:taobao123".getbytes());

//arraylistacls = new arraylist();

//acl acl1=new acl(zoodefs.perms.all, new id("auth", ""));

acls.add(acl1);

zk.create("/qingxu/child",null, acls, createmode.persistent);

thread.sleep(50000000);

zk.close();

child這個znode對於使用者qingxu來說具有所有許可權。它採用的digest認證方式。

其他客戶端如果要訪問這個znode或者建立子znode,需要首先進行認證。

zookeeper zk=new zookeeper("192.168.1.188,192.168.1.189,192.168.1.190",50000,w);

zk.addauthinfo("digest","qingxu:taobao123".getbytes());

zk.create("/qingxu/child/sunzi2",null, zoodefs.ids.open_acl_unsafe, createmode.persistent);

zk.close();

如果這裡qingxu:taobao123輸入成了qingxu:taobao124,那麼將會丟擲noauthexception.

原理請參考《zk訪問控制流程》

ZK ACL訪問的乙個小demo

zookeeper zk new zookeeper 192.168.1.188,192.168.1.189,192.168.1.190 50000,w arraylistacls new arraylist acl acl1 new acl zoodefs.perms.all,newid dige...

aop的乙個小demo

註解方式通知配置增強 切入點及前置通知,後置通知,返回通知,異常通知,環繞通知的配置 aspect service publicclasslogaspect before dolog publicvoiddobefore after dolog publicvoiddoafter 核心業務正常結束時...

html css js 實現乙個網頁小demo

js 從乙個1.html跳轉到另乙個2.html頁面並攜帶一定的資料 最近開始涉及js的學習,由於之前有一些html和css的基礎就開始製作一些靜態頁面利用js新增互動效果使得變得動態。我所做的就是從產品展示頁面新增某個產品的數量,點選購物車圖示就可以跳轉到訂單頁面檢視所加物品數量和總 商品 也是有...