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/11/16 4:38:52 阅读更多 →
C#学生信息管理系统三层架构实战:WinForms+ADO.NET分层设计

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

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

2026/11/15 3:49:34 阅读更多 →
Windows Server 2019 安装全流程:从裸机到可登录桌面的避坑指南

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

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

2026/11/15 5:27:48 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/15 5:13:35 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/15 5:13:35 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/15 5:13:35 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/15 3:37:41 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/15 4:18:38 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/15 5:13:35 阅读更多 →

日新闻

周新闻

月新闻