容器化部署OpenLDAP并使用Python查询LDAP数据
前言 {#前言} -------- 写这篇文章的初衷:公司的平台可以配置 LDAP 登录,在客户项目中这是一个最常见的功能,对接 LDAP 主要分成两个部分,第一个配置对接,这个有标准流程,直接配置就行;第二部分是用户数据同步,这个需要根据客户现场组织架构调整同步逻辑。 我发现公司其他人写的用户同步脚本乱七八糟的,虽然每个客户的现场数据不同,但是按理只是查询条件不同而已,不...
前言 {#前言} -------- 写这篇文章的初衷:公司的平台可以配置 LDAP 登录,在客户项目中这是一个最常见的功能,对接 LDAP 主要分成两个部分,第一个配置对接,这个有标准流程,直接配置就行;第二部分是用户数据同步,这个需要根据客户现场组织架构调整同步逻辑。 我发现公司其他人写的用户同步脚本乱七八糟的,虽然每个客户的现场数据不同,但是按理只是查询条件不同而已,不...
最近在写很多自动化的脚本,涉及很多平台的接口调用,比如虚拟化平台 VMware、SmartX、Nutanix,其中涉及很多异步任务的接口调用,比如创建快照、删除快照、扩容等接口,基本都是异步任务。此时就需要不停的去查询任务状态,只有任务状态为成功或失败才结束。 因此,我写了一个通用的装饰器来处理这种需要重复执行某个函数,直到得到预期返回的操作。 方案思路解析 {#方案思路解...
现在大部分跟代码有关的编辑器和网站基本都是支持 markdown 语法的,我比较喜欢的 markdown 内容显示的网站是 vitepress 的网站,vitepress 支持的语法比较全,而且有很多个性化的渲染语法,是原生的 markdown 不具备的。 本文分享一下利用 markdown 自带的拓展类进行自定义渲染语法。 自定义行渲染规则 {#自定义行渲染规则} ---...
公司项目原因,经常需要到客户现场配置python开发环境,而客户现场提供的开发环境(Windows桌面)基本都是内网环境,无法访问公网,因此要安装python环境都是需要离线安装。为了能将离线搭建开发环境标准化,本文分享一下如何使用pip下载离线安装库whl文件,以及如何离线安装whl文件的经验。 场景描述 {#场景描述} ------------ 具体的场景是需要在一个内...
经常会有使用我博客源码搭建好网站的人问我为啥后台文章编辑页面没有富文本编辑器也没有支持 markdown 编辑,不方便预览。其实之前我也回答过很多次,在创建文章的时候,其实随便找个 markdown 编辑器创建好然后复制进去就行。 创建文章的时候的确可以这样做,但是后续需要编辑文章的时候,每次都要重新把文章复制到 markdown 编辑器里面重新编辑,体验是不太好,而且很浪费...
postman 接口调用 {#postman-接口调用} ---------------------------- 一般文件上传的接口大概如下,某个字段需要上传文件,比如这里的是file字段 ![](http://static.51tbox.com/static/2025-01-06/col/4a5eecae9f537cc63afc05aafa5a2c0d/8cd30ee7...
Python 有很多魔法方法,本文记录一下可以自定义 with 语句的上下文管理器所使用到的两个魔法方法,也就是 `__enter__` 和 `__exit__` 方法的实用性。 自定义上下文管理类 {#自定义上下文管理类} ---------------------- 最常见的 with 语句就是 open 函数了,这里不做解释,直接来看一个自定义类的例子。 ```...
公司很多旧的项目代码都是 python2 的,而新项目代码都是 python3,于是我自己本地也是同时搭建了两个版本的 python 环境,平时写代码都是在 python3 的环境写好,然后在 python2 环境再验证一下兼容性,目的就是为了保证两个环境能通用。由于经常会遇到一些需要进行兼容的问题,因此觉得需要一篇博客来记录一下。 判断 python 版本的方法 {#判断-...
工作中经常需要登录 linux 服务器调用接口,一般都是使用 curl 命令,而我本身习惯是本地用 Python 写接口调用的,也就是使用 requests 库写的。于是就经常会有人问我要某个接口的 curl 命令的时候我就需要去重新组装一下,将现有的 requests 脚本改写成 curl 命令行的形式。于是,py2curl 就诞生了,一个简单的 Python 脚本库,可以将...
前段时间写了一个 django 的应用安装包打包上传到了 PyPI,由于是第一次打包分发,所以趁机研究了一下 Python 打包的相关注意事项。网上的确是可以搜到很多相关资料,但是我发现很多人都在无脑复制粘贴或者简单的提供了一份打包配置,一点不实际也不实用,而我最喜欢的就是分享实际经验,所以这次也不例外,来分享踩坑指南。 打包规范 {#打包规范} ------------ ...