Zookeeperクライアント(2)-ネイティブクライアント

飼育係のクライアント() -ネイティブクライアント、我々は、変更、検索やその他の操作に使用飼育係のクライアントノードの追加および削除を導入しましたが、そこを忘れないでくださいACLのアクセス制御を、我々は顧客飼育係の別の顔をして、ここで、ターミナルでは、ACL権限を使用してを制御するにはどうすればよいですか


最初にサーバーに接続する必要があります。これは前のサーバーと同様です。1つの違いは、Zookeeperが直接接続するときに匿名の内部クラスを使用する代わりに、テストクラスが次のようにWatchインターフェイスを継承することです。

public class ZookeeperAclTest implements Watcher{

    public static final String CONNECT_ADDR = "192.168.80.130:2181";
    public static CountDownLatch countDownLatch = new CountDownLatch(1);

    public static void main(String[] args) throws Exception {
        ZooKeeper zooKeeper = new ZooKeeper(CONNECT_ADDR, 5000, new ZookeeperAclTest());
        countDownLatch.await();
    }

    @Override
    public void process(WatchedEvent event) {
        if(event.getState() == Event.KeeperState.SyncConnected){
            countDownLatch.countDown();
        }
    }
}

接続が完了したら、次のようにACLアクセス許可制御を実行できます。2つのアクセス許可を追加し、ノードの作成時にアクセス許可制御を与えます。
ここに画像の説明を挿入


さらに、既存のノードについて、関連する権限を追加することもできます。ここでは、既存の/ node2に権限を追加し、次のようにその権限を出力します。
ここに画像の説明を挿入
ここに画像の説明を挿入


アクセスしたときに、権限がないことがわかりました。はい、/ node2ノードに権限を追加しました。アクセスするときは、アクセスする前に、現在のセッションの認証情報を登録する必要があります。

ここではsetAcl、node / node2に権限を付与したばかりで、ここには権限なしで権限を付与する必要があるためコマンドに注釈を付けることができます。または、セッション認証情報を上部に追加できます。
ここに画像の説明を挿入
ここに画像の説明を挿入

286の元の記事が公開されました Liked12 訪問者10,000以上

おすすめ

転載: blog.csdn.net/newbie0107/article/details/104890969