ldif 数据转成正确的组织结构再探

news2025/2/24 3:44:21

上次文章最后有说到按照之前的思路来转化组织结构是有坑的,我们现在还只是对接 AD域,ldap 协议的其他产品在细节上还会有些许不同

我们是不能直接粗暴的认为 cn 就是对应标识一个用户, cn 是 common name 的意思,他也可以表示我们理解的用户组

orgnizationalUnitcontainer 也可以是组的意思,但是对于 AD 域来说,在他们上面能够配置的属性有差别

那么对于同步组织结构,我们实际上是可以如何做的呢?不能粗暴的按照之前的方式来实现,我们可以如何实现?

先过滤组织

我们可以在 ldap 服务器中可以看到, cn 也可以是组的意思,cn 下面也可以是 ou

因此单单的通过 dn 是无法分辨出哪个 dn 代表的是组,哪个 dn 代表的是用户的

因此在 ldap 中,我们想要获取我们认为的组织结构,那么就需要有一定的方法

  • 先过滤组
  • 再过滤用户
  • 拼装整个组织结构

过滤组织

我们就可以使用例如这样的过滤条件:(|(objectClass=organizationalUnit)(objectClass=organizationalRole))

筛选出来的 dn 全部都是我们认为的组,根据之前的逻辑将这个组生成一棵树即可,是一棵多叉树

例如效果可能是这样的,先生成一棵树,树的基本雏形就有了

再过滤用户

过滤用户的时候 可以是这样的

(|(objectClass=Person)(objectClass=user))

当然,这些过滤用户都是可以自己修改的,只是我们的逻辑是,先过滤组,再过滤用户

我们过滤的用户可能有这些

我们这里要注意,这些用户不是所有都要挂到我们的树上面的,需要检验他们是不是我们期望的组

拼装整个组织结构

拼装之后,结果可能是这样的,新增的节点是对应的用户,蓝色的是我们正确加入组织结构里面的用户

橙色的也是我们通过上述 条件 (|(objectClass=Person)(objectClass=user)) 筛选出来的用户,但是不属于我们之前筛选的组里面的成员

因此,不能把 J 和 K 加入到我们的组织结构中

则最终我们的组织结构是这样的才对

对于编码的实现原理,和上一篇的类似,只是在生成树的时候需要调整一下即可,处理 DN 的时候,处理组的 DN 和 处理 用户的 DN 需要分开过滤,分开处理,最后做拼装

欢迎点赞,关注,收藏

朋友们,你的支持和鼓励,是我坚持分享,提高质量的动力

好了,本次就到这里

技术是开放的,我们的心态,更应是开放的。拥抱变化,向阳而生,努力向前行。

我是阿兵云原生,欢迎点赞关注收藏,下次见~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/469531.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【LeetCode】(力扣) c/c++刷题-145. 二叉树的后序遍历

题目: 给你一棵二叉树的根节点 root ,返回其节点值的 后序遍历 。 示例 1: 输入:root [1,null,2,3] 输出:[3,2,1] 示例 2: 输入:root [] 输出:[] 示例 3: 输入&a…

线性表的链式存储结构与操作 题目编号:455

题目描述 评论 请你定义一个链表,可以对链表进行“在某个元素之前插入一些元素”、“删除某个位置的元素”、“查找某元素”、“获取某个位置的元素”、“遍历输出所有元素”、“求链表的长度”等操作。键盘输入一些命令,可以执行上述操作。本题中&…

电控针阀和手动可变泄漏阀组合在超高真空度精密PID控制中的应用

摘要:超高真空度的控制普遍采用具有极小开度的可变泄漏阀对进气流量进行微小调节。目前常用的手动可变泄漏阀无法进行超高真空度的自动控制且不准确,电控可变泄漏阀尽管可以实现自动控制但价格昂贵。为了实现自动控制且降低成本,本文提出了手…

线性表的顺序存储结构与操作 题目编号:454

题目描述 请你定义一个顺序表,可以对顺序表进行如下操作: 在某个元素之前插入一些元素 删除某个位置的元素 查找某元素 获取某个位置的元素 遍历输出所有元素 键盘输入一些命令,可以执行上述操作。本题中,顺序表元素为整数&…

【BIM+GIS】Supernap加载实景三维倾斜摄影模型

OSGB是常见的倾斜模型格式,本文讲述如何在Supernap中加载实景三维倾斜摄影模型OSGB。 文章目录 一、生成配置文件二、加载倾斜模型1. 新建场景2. 添加模型3. 高程调整一、生成配置文件 点击【三维数据】→【数据管理】→【生成配置文件】。 参数设置如下: 源路径:选择倾斜模…

荔枝派Zero(全志V3S)开启mplayer,播放音视频

文章目录 前言一、buildroot 配置及编译1、开启 ALSA 和 MPLAY2、编译 二、拷贝到到 SD 卡1、将 rootfs.tar 解压缩到 SD 卡 rootfs 分区②、将 mp4 文件和 mp3 文件拷贝到 SD 卡 rootfs 分区 三、测试1、mplayer 使用2、mplayer 播放音频3、mplayer 播放视频 前言 mplayer 是…

华为在软件工具生态埋下多颗“种子”,静候国产软件产业萌芽

文丨智能相对论 作者丨沈浪 当代的数字经济大厦由各种各样的软件一块一块地搭建起来。然而,站在国内软件行业的中心,热闹的大多是来自上层的软件应用,而沉寂的却总是底层又难又基础的领域,比如软件开发。 软件开发,…

初始新能源汽车

文章目录 电动汽车的三级模块体系VCU(整车控制器)MCU(电机控制器)电池包和BMS(电池管理系统)电动汽车的大三电电动汽车的小三电电动汽车的模块组成 电动汽车的三级模块体系 总体上讲,整个新能源…

牛客刷题篇:客似云来 和 剪花布条(Java)

目录 题目一:客似云来 输入描述 输出描述 解题思路 代码 题目二:剪花布条 输入描述 输出描述 解题思路 代码 题目一:客似云来 链接:客似云来 NowCoder开了一家早餐店,这家店的客人都有个奇怪的癖好&#xff…

算法刷题|1143.最长公共子序列、1035.不相交的线、53.最大子数组和

最长公共子序列 给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0 。 一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符&a…

跨子网通信【路由通信。配置路由】

路由通信条件是:服务器多网卡 or 单网卡多IP 查看路由表 route -n设置一网卡多IP 进行网络配置 进入setup中,选择网络配置 setup选择设备配置 去除DHCP动态协议 进来后,可能会发现无法对静态IP和子网掩码进行编辑,是因为你开启…

Qt - 从零到壹的 打地鼠 游戏

❤️‍🔥欢迎收看西北风的blog,好男人就是我,我就是西北风。✨ 目录 🟥一:创建一个主窗体 🟣二.:添加主窗口背景图片以及相关部件 🔸2.1 添加资源文件 2.1.1 添加资源文件 2.1…

NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_实际操作01---大数据之Nifi工作笔记0040

我们基于之前做的从mysql中获取数据,然后同步数据到mysql中,基于这个案例来做,可以看到上面是,这个案例的所有处理器,我们基于这个来改造. 1.首先我这里重新安装了一个mysql8.0.33 ,安装的是windows版本的,如果你是linux版本的,这里也说一下,如何开启binlog功能,首先要开启bin…

模拟和数字电路 —— 导学篇

前言:本科零基础跨考模电,时间不是很充裕,选择不补学电路分析的基础,直接开始学习模电。如果遇到不会的问题只学习指定的那块。 学习模电需要哪些基本电路知识 比如学习基本放大电路时经常用到的KVL、KCL;学习频率响应…

用C++实现Date类

Date类 判断 大于 小于 等于 等等运算符重载函数 我们先实现一个 > 的运算符重载,然后再实现一个 的运算符重载: bool Date::operator>(const Date& d) {if (_year > d._year){return true;}else if (_year d._year && _mo…

教你如何通过内网穿透轻松实现PL/SQL远程连接Oracle数据库【内网穿透】

文章目录 前言1. 数据库搭建2. 内网穿透2.1 安装cpolar内网穿透2.2 创建隧道映射 3. 公网远程访问4. 配置固定TCP端口地址4.1 保留一个固定的公网TCP端口地址4.2 配置固定公网TCP端口地址4.3 测试使用固定TCP端口地址远程Oracle 转发自CSDN远程穿透的文章:公网远程连…

【PLC】贝加莱PLC理论及操作年度培训

最近在进行PLC培训,主要是贝加莱PLC产品的学习,学习了上下位机的一些基本操作,能够进行一些简单的实践,最后顺利通过年度考核。 0 引言 PLC:可编程逻辑控制器,由CPU、存储器、输入输出接口、电影以及外部设…

【unity专题篇】—GUI(IMGUI)思维导图详解

👨‍💻个人主页:元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏:uni…

企业关键数据资产如何保护?腾讯安全联合“数据安全推进计划”落地主题沙龙

4月26日,腾讯安全联合中国信通院“数据安全推进计划”共同在深圳举办了数据安全研讨会,共同探讨新形势下如何让企业关键数据资产更安全。中国信息通信研究院云计算与大数据研究所高级业务主管龚诗然、腾讯云安全总经理李滨、炼石网络创始人兼CEO白小勇、…

【Vue3学习笔记1】一个清单应用帮你入门Vue.js

Vue 目前已经是国内最流⾏的前端框架之⼀&#xff0c;Vue 3 带来的诸多优化更是让前端圈迎来了新的潮流&#xff0c;比如&#xff1a; 基于 Proxy 的全新响应式实现&#xff1b; Composition API <script setup> 组织代码的更优方式&#xff1b; 更有料的 TypeScript 支…