zookeeper C API client 如何设置digest鉴权验证

2024-04-09 03:20

本文主要是介绍zookeeper C API client 如何设置digest鉴权验证,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文参考地址

zkCli.sh如何设置

自带的命令行客户端设置比较简单

  1. 增加授权用户。addauth digest root:111

其中digest是scheme,root:111是id (credential,root可以理解为明文用户,111可以理解为明文密码) :perm

2.为特定目录设置权限。 setAcl /1 auth:root:cdwra

为 /1 目录添加权限,目录可以任意指定,只对当前目录起作用。比如当前目录为 /1, 所以根目录/没有鉴权验证。root可以理解为明文用户,cdwra含义为缩写。
c 可以创建子节点, d 可以删除子节点(仅下一级节点), r 可以读取节点数据及显示子节点列表,w 可以设置节点数据, a 可以设置节点访问控制列表权限

  1. 为目录设置权限后,重新连接访问,则需要针对会话添加授权用户

addauth digest root:111

C API client如何设置

  1. 增加授权用户
int zoo_add_auth(zhandle_t *zh,const char* scheme,const char* cert,int certLen, void_completion_t completion, const void *data);

scheme填写digest
cert填写root:111
certLen填写cert字符串长度
completion回调函数
该函数执行成功后,即可访问需要鉴权验证的目录

  1. 为特定目录设置权限
int zoo_set_acl(zhandle_t *zh, const char *path, int version, const struct ACL_vector *acl)

path填写需要设置权限的路径
version填写-1,表示忽略校验版本号
acl 鉴权数据结构体

用法如下:

auto acl_item = new ACL{};
acl_item->id.scheme = (char*)"digest";
acl_item->id.id = (char*)"root:wEu/CPgrVI/4mg2A1AKUtstW6AI="; // 明文用户名:base64密码,明文密码是111
acl_item->perms = ZOO_PERM_ALL; // 所有权限,即cdwrastruct ACL_vector acl{};
acl.count = 1; // ACL 规则的数量
acl.data = acl_item;
auto rc = zoo_set_acl(zh_, "/1", -1, &acl);

这篇关于zookeeper C API client 如何设置digest鉴权验证的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/887060

相关文章

SpringBoo WebFlux+MongoDB实现非阻塞API过程

《SpringBooWebFlux+MongoDB实现非阻塞API过程》本文介绍了如何使用SpringBootWebFlux和MongoDB实现非阻塞API,通过响应式编程提高系统的吞吐量和响应性能... 目录一、引言二、响应式编程基础2.1 响应式编程概念2.2 响应式编程的优势2.3 响应式编程相关技术

JAVA Calendar设置上个月时,日期不存在或错误提示问题及解决

《JAVACalendar设置上个月时,日期不存在或错误提示问题及解决》在使用Java的Calendar类设置上个月的日期时,如果遇到不存在的日期(如4月31日),默认会自动调整到下个月的相应日期(... 目录Java Calendar设置上个月时,日期不存在或错误提示java进行日期计算时如果出现不存在的

Java利用Spire.XLS for Java自动化设置Excel的文档属性

《Java利用Spire.XLSforJava自动化设置Excel的文档属性》一个专业的Excel文件,其文档属性往往能大大提升文件的可管理性和可检索性,下面我们就来看看Java如何使用Spire... 目录Spire.XLS for Java 库介绍与安装Java 设置内置的 Excel 文档属性Java

java中4种API参数传递方式统一说明

《java中4种API参数传递方式统一说明》在Java中,我们可以使用不同的方式来传递参数给方法或函数,:本文主要介绍java中4种API参数传递方式的相关资料,文中通过代码介绍的非常详细,需要的... 目录1. 概述2. 参数传递方式分类2.1 Query Parameters(查询参数)2.2 Path

Java调用DeepSeek API的8个高频坑与解决方法

《Java调用DeepSeekAPI的8个高频坑与解决方法》现在大模型开发特别火,DeepSeek因为中文理解好、反应快、还便宜,不少Java开发者都用它,本文整理了最常踩的8个坑,希望对... 目录引言一、坑 1:Token 过期未处理,鉴权异常引发服务中断问题本质典型错误代码解决方案:实现 Token

Python数据验证神器Pydantic库的使用和实践中的避坑指南

《Python数据验证神器Pydantic库的使用和实践中的避坑指南》Pydantic是一个用于数据验证和设置的库,可以显著简化API接口开发,文章通过一个实际案例,展示了Pydantic如何在生产环... 目录1️⃣ 崩溃时刻:当你的API接口又双叒崩了!2️⃣ 神兵天降:3行代码解决验证难题3️⃣ 深度

idea设置快捷键风格方式

《idea设置快捷键风格方式》在IntelliJIDEA中设置快捷键风格,打开IDEA,进入设置页面,选择Keymap,从Keymaps下拉列表中选择或复制想要的快捷键风格,点击Apply和OK即可使... 目录idea设www.chinasem.cn置快捷键风格按照以下步骤进行总结idea设置快捷键pyth

MyBatis配置文件中最常用的设置

《MyBatis配置文件中最常用的设置》文章主要介绍了MyBatis配置的优化方法,包括引用外部的properties配置文件、配置外置以实现环境解耦、配置文件中最常用的6个核心设置以及三种常用的Ma... 目录MyBATis配置优化mybatis的配置中引用外部的propertis配置文件⚠️ 注意事项X

requests处理token鉴权接口和jsonpath使用方式

《requests处理token鉴权接口和jsonpath使用方式》文章介绍了如何使用requests库进行token鉴权接口的处理,包括登录提取token并保存,还详述了如何使用jsonpath表达... 目录requests处理token鉴权接口和jsonpath使用json数据提取工具总结reques

Java JAR 启动内存参数配置指南(从基础设置到性能优化)

《JavaJAR启动内存参数配置指南(从基础设置到性能优化)》在启动Java可执行JAR文件时,合理配置JVM内存参数是保障应用稳定性和性能的关键,本文将系统讲解如何通过命令行参数、环境变量等方式... 目录一、核心内存参数详解1.1 堆内存配置1.2 元空间配置(MetASPace)1.3 线程栈配置1.