LLDAP 与 OneDev 集成指南:Generic LDAP 外部认证源完整配置
后端认证鉴权【免费下载链接】lldapLight LDAP implementation项目地址https://gitcode.com/gh_mirrors/ll/lldap点击查看免费下载本指南讲解如何将轻量级 LDAP 服务器 LLDAP 配置为 OneDev 的 Generic LDAP 外部认证源实现用户使用 LLDAP 中的账号名直接登录 OneDev。文章以仓库内 example_configs/onedev.md 为基础逐项解释每个配置字段的含义、与 LLDAP 内部数据模型的对应关系并结合源码说明底层实现帮助你在自建环境中一次配置成功。前置条件确认 LLDAP 与 OneDev 均已就绪开始配置前需要确认以下前提LLDAP 已安装并完成初始化管理员的 DN 与密码、LDAP 监听端口均已可用。安装方式可参考仓库内 docs/install.mdDocker 部署可参考 lldap_config.docker_template.toml 中给出的默认配置模板。OneDev 可访问 LLDAPOneDev 所在的网络环境需要能访问 LLDAP 的 LDAP 端口默认3890或 LDAPS 端口默认6360。基础 DN 已确认LLDAP 默认使用dcexample,dccom作为 base DN实际部署中请替换为你自己配置的域名 DN。OneDev 中的配置步骤在 OneDev 界面中依次进入Administration External Authentication Source Authenticator选择Generic LDAP类型然后按下表填写各项参数。配置项填写值LDAP URLldap://lldap_ip_or_hostname:3890或ldaps://lldap_ip_or_hostname:6360Authentication Required开启OnManager DNuidadmin,oupeople,dcexample,dccomManager Password你的 bind 用户密码User Search Baseoupeople,dcexample,dccomUser Search Filter((uid{0})(objectclassperson))User Full Name AttributedisplayNameEmail AttributemailUser SSH Key Attribute留空Group Retrieval选择 Search Groups Using FilterGroup Search Baseougroups,dcexample,dccomGroup Search Filter((uniqueMember{0})(objectclassgroupOfUniqueNames))Group Name AttributecnCreate User As Guest关闭OffDefault Group选择 No Default GroupTimeout300重要将表格中所有dcexample,dccom替换为你实际配置的域名。LLDAP 默认配置文件 lldap_config.docker_template.toml 中的ldap_base_dn默认值即为dcexample,dccom你可以扩展为任意数量的dc段且不要求真实拥有该域名。完成上述设置后OneDev 用户即可使用 LLDAP 中创建的用户名直接登录。逐项解读配置字段与 LLDAP 内部实现的对应关系LDAP URL 与端口LLDAP 默认监听两个端口见 server/src/configuration.rs 中的默认值定义LDAP 明文端口3890ldap_port默认值对应ldap://host:3890LDAPS 加密端口6360ldaps_options.port默认值对应ldaps://host:6360。LDAPS 不是默认开启的需要在 lldap_config.docker_template.toml 的[ldaps_options]段中设置[ldaps_options] # 是否启用 LDAPS enabled true # 监听端口 port 6360 # 证书文件路径 cert_file /data/cert.pem # 私钥文件路径 key_file /data/key.pem如果 OneDev 与 LLDAP 在同一内网且传输链路可信直接使用明文3890即可跨网络环境建议启用 LDAPS。启用 LDAPS 后OneDev 的 LDAP URL 填写ldaps://lldap_ip_or_hostname:6360。Manager DNbind 管理员账户OneDev 需要用一个有查询权限的账号执行初始 bind。LLDAP 的默认管理员由 lldap_config.docker_template.toml 中的ldap_user_dn和ldap_user_pass决定ldap_user_dn admin会创建 LDAP 用户uidadmin,oupeople,dcexample,dccom实际为cnadminLLDAP 的字段映射对uid/cn均兼容见下文ldap_user_pass为该用户的密码同时用于 LDAP bind 与管理界面登录。从源码看LLDAP 的 bind 流程位于 crates/ldap/src/password.rs 的do_bind其会调用域处理器的bind接口验证用户名密码拒绝匿名 bindAnonymous bind not allowed。因此 OneDev 的 Authentication Required 必须开启。用户搜索Search Base 与 Search FilterUser Search Baseoupeople,dcexample,dccomLLDAP 将用户统一存放在oupeople子树下每个用户的 DN 形如uiduser_id,oupeople,dcexample,dccom。该 DN 组装逻辑见 crates/ldap/src/core/user.rs。User Search Filter((uid{0})(objectclassperson)){0}是 OneDev 注入的登录用户名。LLDAP 在 crates/ldap/src/core/utils.rs 的map_user_field中将uid映射到用户主键UserColumn::UserId将objectclass映射到用户对象类同时 crates/ldap/src/core/user.rs 定义了默认用户对象类集合[inetOrgPerson, posixAccount, mailAccount, person]其中包含person因此该过滤器可以命中所有 LLDAP 用户。用户属性映射displayName、mail 与 SSH KeyUser Full Name Attribute displayNamemap_user_field中cn、displayname、display_name均映射到用户的显示名字段UserColumn::DisplayName对应 LLDAP 用户界面中的显示名称。Email Attribute mailmail以及email映射到用户邮箱字段UserColumn::Email对应 LLDAP 用户资料中的邮箱。User SSH Key Attribute 留空LLDAP 未内置 SSH Key 属性因此留空即可。若 OneDev 强制要求填写可以忽略LLDAP 的 LDAP 服务本身不强制返回该属性。组检索Search Groups Using FilterOneDev 支持从 LDAP 拉取组信息用于权限管理配置为 Search Groups Using Filter 并填写Group Search Baseougroups,dcexample,dccomLLDAP 将组统一存放在ougroups子树组 DN 形如uidgroup_name,ougroups,dcexample,dccom组装逻辑见 crates/ldap/src/core/group.rs。Group Search Filter((uniqueMember{0})(objectclassgroupOfUniqueNames)){0}同样由 OneDev 注入当前用户。LLDAP 在 crates/ldap/src/core/utils.rs 的map_group_field中uniqueMember/member映射到组成员属性返回值为组成员的完整 DNuiduser,oupeople,base_dn见 crates/ldap/src/core/group.rsobjectclass映射到组对象类默认对象类为[groupOfUniqueNames, groupOfNames]crates/ldap/src/core/group.rs其中包含groupOfUniqueNames因此过滤器可以命中所有 LLDAP 组。Group Name Attribute cn组名可通过cn、uid、displayName等属性读取均映射到组显示名GroupFieldType::DisplayName。新用户行为Create User As Guest 与 Default GroupCreate User As Guest Off新登录用户将以普通用户身份创建而非访客Guest身份便于后续在 OneDev 中授予开发权限。Default Group No Default Group不为新用户自动分配任何默认组。如果你希望自动同步 LLDAP 的组到 OneDev可以保留该默认选项依赖上面的组过滤配置。Timeout 300OneDev 与 LLDAP 之间的 LDAP 操作超时时间秒。若用户量较大或网络延迟较高可适当调大。常见问题与排查建议登录提示 bind 失败检查 Manager DN 是否写成了cnadmin之外的值。LLDAP 对 DN 的解析基于uidid,oupeople|groups,base_dn结构见 crates/ldap/src/core/utils.rs同时字段映射对uid与cn均兼容因此uidadmin,oupeople,dcexample,dccom可以正常 bind。搜索无结果确认dcexample,dccom是否全部替换为实际 base DN且用户/组确实创建在oupeople/ougroups下。LDAPS 连接失败确认已在[ldaps_options]中启用enabled true并正确配置证书与私钥路径LLDAP 启动日志会打印监听端口见 server/src/ldap_server.rs。用户能登录但组未同步确认 OneDev 的组过滤配置使用的是 Search Groups Using Filter 且过滤条件包含objectclassgroupOfUniqueNames该对象类是 LLDAP 组的默认对象类之一。配置完成后在 OneDev 使用 LLDAP 中任意已创建用户的用户名登录即可验证。更完整的配置项说明可参考 lldap_config.docker_template.toml仓库内还有大量其他应用的集成示例位于 example_configs 目录下例如 example_configs/nextcloud.md、example_configs/gitea.md、example_configs/gitlab.md 等可用于交叉验证 LLDAP 的 LDAP 行为是否符合预期。赞分享后端认证鉴权【免费下载链接】lldapLight LDAP implementation项目地址https://gitcode.com/gh_mirrors/ll/lldap点击查看免费下载相关推荐ui-ux-pro-max-skill 设计系统组件规格完全指南Button、Input、Card 等七大组件的变体、尺寸与状态规范落地ui ux pro max skill 设计系统组件规格完全指南Button、Input、Card 等七大组件的变体、尺寸与状态规范落地 本篇指南围绕 ui后端认证鉴权WeChatFerry 微信机器人从 0 到 1Hook 原理、最快跑通路径与 AI 接入完整指南WeChatFerry 微信机器人从 0 到 1Hook 原理、最快跑通路径与 AI 接入完整指南 WeChatFerry 是一款基于 Hook 技术的微信机后端认证鉴权用 tchMaterial-parser 把智慧教育平台的电子课本 PDF 批量存到本地用 tchMaterial parser 把智慧教育平台的电子课本 PDF 批量存到本地 tchMaterial parser 是一个面向国家中小学智慧教育平台后端认证鉴权上一篇3分钟掌握DamaiHelper告别抢票焦虑轻松锁定心仪演唱会门票下一篇终极Flash浏览器解决方案如何让经典Flash游戏和课件在现代电脑上完美运行创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

Windows上跑安卓不用再折腾:WSABuilds 5步装完直接用

Windows上跑安卓不用再折腾:WSABuilds 5步装完直接用

Windows上跑安卓不用再折腾:WSABuilds 5步装完直接用 【免费下载链接】WSABuilds Run Windows Subsystem For Android on your Windows 10 and Windows 11 PC using prebuilt binaries with Google Play Store (MindTheGapps) and/or Magisk or KernelSU (root solu…

2026/10/13 10:57:34 阅读更多 →
C#学生信息管理系统三层架构实战:WinForms+ADO.NET分层设计

C#学生信息管理系统三层架构实战:WinForms+ADO.NET分层设计

简介:本资源是一套基于C# Windows平台开发的学生信息管理系统完整源码,面向C#初学者与.NET桌面应用开发者,聚焦三层架构设计与SQL Server数据库实践,解决课程设计、毕业设计及小型教务系统快速搭建需求。压缩包共127个文件&#x…

2026/10/12 10:19:58 阅读更多 →
Windows Server 2019 安装全流程:从裸机到可登录桌面的避坑指南

Windows Server 2019 安装全流程:从裸机到可登录桌面的避坑指南

简介:这份资源是面向企业IT运维人员、系统管理员及备考相关认证的学习者整理的Windows Server 2019系统安装图文教程,重点解决服务器操作系统从零部署时的版本选择与安装流程问题。教程区分了标准版与数据中心版在虚拟化权益和高级功能上的差异&#xff…

2026/10/12 10:20:20 阅读更多 →

最新新闻

基于STM32的GPS导航:从NMEA解析到控制量完整实现

基于STM32的GPS导航:从NMEA解析到控制量完整实现

简介:这是一份基于STM32微控制器与UC/GUI图形库的GPS导航系统相关工程源码,面向嵌入式开发者以及正在学习STM32、GPS应用和GUI编程的学生。资源以STM32为主控芯片,通过UART或SPI接口接收GPS模块的NMEA协议数据,完成经纬度解析、定…

2026/10/13 21:09:59 阅读更多 →
Sa-Token过滤器引发CORS误判:OPTIONS预检被拦截的排查与修复

Sa-Token过滤器引发CORS误判:OPTIONS预检被拦截的排查与修复

这个问题的标题里有一个关键词——“误判”。在绝大多数CORS报错的排查复盘里,大家习惯把锅甩给浏览器,觉得它又在发神经。但实际经历过Sa-Token过滤器引发的CORS误判之后,我才意识到,浏览器这个“判官”其实一丝不苟,…

2026/10/13 21:09:59 阅读更多 →
人格障碍诊断系统毕业设计:从判分引擎到报告可视化完整实现

人格障碍诊断系统毕业设计:从判分引擎到报告可视化完整实现

如果你在毕业设计选题里看到“人格障碍诊断系统”这几个字,先别急着把它归类成普通的增删改查项目。这个题目看起来是典型的SpringBootVueMySQL管理信息系统,但真正做起来,它比学生管理系统、图书管理系统多了一层核心业务逻辑——量表测评、…

2026/10/13 21:09:59 阅读更多 →
MLX90614红外测温实战:发射率、SMBus与标定排错全攻略

MLX90614红外测温实战:发射率、SMBus与标定排错全攻略

简介:这是一份基于51单片机与MXL90614红外测温模块的完整工程代码包,适合单片机初学者、嵌入式爱好者以及需要快速实现非接触测温显示的开发者使用。工程直接面向“读取红外传感器—数据处理—LCD1602显示”的完整链路,能帮助读者直接用现成代…

2026/10/13 21:09:59 阅读更多 →
SDR# x86分发包驱动PlutoSDR:从兼容性到采样率与增益调优

SDR# x86分发包驱动PlutoSDR:从兼容性到采样率与增益调优

简介:软件定义无线电(SDR)的核心价值在于用软件替代固定硬件,能灵活适应多种通信协议和频段,近年来受到无线电爱好者、科研人员与工程师的广泛重视。这里提供的是一份针对Pluto SDR设备优化定制的SDR#接收软件包&#…

2026/10/13 21:09:59 阅读更多 →
鸽哒IM源码:生产级私有化即时通讯系统解析

鸽哒IM源码:生产级私有化即时通讯系统解析

简介:这是一套完整的跨平台即时通讯(IM)系统源码,面向中高级Java/Android/iOS开发者及全栈工程师,用于学习和搭建企业级实时通信服务。资源涵盖Web(WebSocketHTML5)、Android(JavaFC…

2026/10/13 21:08:58 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/13 16:22:04 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 21:05:09 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →