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

相关文章

springboot依靠security实现digest认证的实践

《springboot依靠security实现digest认证的实践》HTTP摘要认证通过加密参数(如nonce、response)验证身份,避免明文传输,但存在密码存储风险,相比基本认证更安全,却因... 目录概述参数Demopom.XML依赖Digest1Application.JavaMyPasswo

Java JDK Validation 注解解析与使用方法验证

《JavaJDKValidation注解解析与使用方法验证》JakartaValidation提供了一种声明式、标准化的方式来验证Java对象,与框架无关,可以方便地集成到各种Java应用中,... 目录核心概念1. 主要注解基本约束注解其他常用注解2. 核心接口使用方法1. 基本使用添加依赖 (Maven

Java实现为PDF设置背景色和背景图片

《Java实现为PDF设置背景色和背景图片》在日常的文档处理中,PDF格式因其稳定性和跨平台兼容性而广受欢迎,本文将深入探讨如何利用Spire.PDFforJava库,以简洁高效的方式为你的PDF文档... 目录库介绍与安装步骤Java 给 PDF 设置背景颜色Java 给 PDF 设置背景图片总结在日常的

C#中通过Response.Headers设置自定义参数的代码示例

《C#中通过Response.Headers设置自定义参数的代码示例》:本文主要介绍C#中通过Response.Headers设置自定义响应头的方法,涵盖基础添加、安全校验、生产实践及调试技巧,强... 目录一、基础设置方法1. 直接添加自定义头2. 批量设置模式二、高级配置技巧1. 安全校验机制2. 类型

Java中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例解析

《Java中的分布式系统开发基于Zookeeper与Dubbo的应用案例解析》本文将通过实际案例,带你走进基于Zookeeper与Dubbo的分布式系统开发,本文通过实例代码给大家介绍的非常详... 目录Java 中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例一、分布式系统中的挑战二

python库pydantic数据验证和设置管理库的用途

《python库pydantic数据验证和设置管理库的用途》pydantic是一个用于数据验证和设置管理的Python库,它主要利用Python类型注解来定义数据模型的结构和验证规则,本文给大家介绍p... 目录主要特点和用途:Field数值验证参数总结pydantic 是一个让你能够 confidentl

使用Go调用第三方API的方法详解

《使用Go调用第三方API的方法详解》在现代应用开发中,调用第三方API是非常常见的场景,比如获取天气预报、翻译文本、发送短信等,Go作为一门高效并发的编程语言,拥有强大的标准库和丰富的第三方库,可以... 目录引言一、准备工作二、案例1:调用天气查询 API1. 注册并获取 API Key2. 代码实现3

Java利用Spire.XLS for Java设置Excel表格边框

《Java利用Spire.XLSforJava设置Excel表格边框》在日常的业务报表和数据处理中,Excel表格的美观性和可读性至关重要,本文将深入探讨如何利用Spire.XLSforJava库... 目录Spire.XLS for Java 简介与安装Maven 依赖配置手动安装 JAR 包核心API介

PHP应用中处理限流和API节流的最佳实践

《PHP应用中处理限流和API节流的最佳实践》限流和API节流对于确保Web应用程序的可靠性、安全性和可扩展性至关重要,本文将详细介绍PHP应用中处理限流和API节流的最佳实践,下面就来和小编一起学习... 目录限流的重要性在 php 中实施限流的最佳实践使用集中式存储进行状态管理(如 Redis)采用滑动

Java MCP 的鉴权深度解析

《JavaMCP的鉴权深度解析》文章介绍JavaMCP鉴权的实现方式,指出客户端可通过queryString、header或env传递鉴权信息,服务器端支持工具单独鉴权、过滤器集中鉴权及启动时鉴权... 目录一、MCP Client 侧(负责传递,比较简单)(1)常见的 mcpServers json 配置