ldap落地实战:gitlab集成openldap认证

简介: 上一篇文章介绍了svn集成openldap认证,版本控制除了svn外,git目前也被越来越多的开发者所喜爱,本文将介绍gitlab如何集成openldap实现账号认证gitlab集成openldap认证修改配置文件gitlab.

上一篇文章介绍了svn集成openldap认证,版本控制除了svn外,git目前也被越来越多的开发者所喜爱,本文将介绍gitlab如何集成openldap实现账号认证

gitlab集成openldap认证

  1. 修改配置文件gitlab.yml
ldap:
enabled: true
servers:
  main: 
    label: 'LDAP'

    host: 'ldap.domain.com'
    port: 389
    uid: 'uid'
    method: 'plain'
    bind_dn: 'uid=authz,ou=Public,dc=domain,dc=com'
    password: 'ImNVZODT884'

    timeout: 10

    active_directory: false
    allow_username_or_email_login: false

    block_auto_created_users: false

    base: 'dc=domain,dc=com'
    user_filter: ''

重要配置参数解释(仔细阅读上一篇svn集成ldap认证的文章这些参数会更好理解):

  • host:ldap服务器地址
  • port:ldap服务端口
  • uid:以哪个属性作为验证属性,可以为uid、cn等,我们使用uid
  • method:如果开启了tls或ssl则填写对应的tls或ssl,都没有就填写plain
  • bind_dn:search搜索账号信息的用户完整bind(需要一个有read权限的账号验证通过后搜索用户输入的用户名是否存在)
  • password:bind_dn用户的密码,bind_dnpassword两个参数登录ldap服务器搜索用户
  • active_directory:LDAP服务是否是windows的AD,我们是用的openldap,这里写false
  • allow_username_or_email_login:是否允许用户名或者邮箱认证,如果是则用户输入用户名或邮箱都可
  • base:从哪个位置搜索用户,例如允许登录gitlab的用户都在ou gitlab里,name这里可以写ou=gitlab,dc=domain,dc=com
  • filter:添加过滤属性,例如只过滤employeeType为developer的用户进行认证(employeeType=developer)
  1. 重启gitlab服务,看到页面已经有ldap的登录选项了

image

报错处理

当重启完成后登陆报:Could not authenticate you from Ldapmain because "Invalid credentials"

查日志有如下报错:(LDAP) Error saving user: ["Email is not whitelisted. Email domains valid for registration are: domain.com"]

email不在白名单??仔细想了一下原因:

  1. gitlab之前为了安全配置了 Restricted domains for sign-ups只允许domain.com邮箱的用户注册
  2. 而我openldap在新建用户的时候邮箱没有填写为空

或许就是这个问题了,登录lam将用户的邮箱字段补上(需符合白名单规则)重新登录便正常了

扫码关注公众号查看更多实用文章

目录
相关文章
|
3月前
|
缓存 监控 安全
通义大模型与现有企业系统集成实战《CRM案例分析与安全最佳实践》
本文档详细介绍了基于通义大模型的CRM系统集成架构设计与优化实践。涵盖混合部署架构演进(新增向量缓存、双通道同步)、性能基准测试对比、客户意图分析模块、商机预测系统等核心功能实现。同时,深入探讨了安全防护体系、三级缓存架构、请求批处理优化及故障处理机制,并展示了实时客户画像生成和动态提示词工程。通过实施,显著提升客服响应速度(425%)、商机识别准确率(37%)及客户满意度(15%)。最后,规划了技术演进路线图,从单点集成迈向自主优化阶段,推动业务效率与价值持续增长。
145 7
|
2天前
|
人工智能 自然语言处理 API
快速集成GPT-4o:下一代多模态AI实战指南
快速集成GPT-4o:下一代多模态AI实战指南
|
1月前
|
人工智能 自然语言处理 分布式计算
AI 驱动传统 Java 应用集成的关键技术与实战应用指南
本文探讨了如何将AI技术与传统Java应用集成,助力企业实现数字化转型。内容涵盖DJL、Deeplearning4j等主流AI框架选择,技术融合方案,模型部署策略,以及智能客服、财务审核、设备诊断等实战应用案例,全面解析Java系统如何通过AI实现智能化升级与效率提升。
190 0
|
4月前
|
人工智能 安全 Shell
Jupyter MCP服务器部署实战:AI模型与Python环境无缝集成教程
Jupyter MCP服务器基于模型上下文协议(MCP),实现大型语言模型与Jupyter环境的无缝集成。它通过标准化接口,让AI模型安全访问和操作Jupyter核心组件,如内核、文件系统和终端。本文深入解析其技术架构、功能特性及部署方法。MCP服务器解决了传统AI模型缺乏实时上下文感知的问题,支持代码执行、变量状态获取、文件管理等功能,提升编程效率。同时,严格的权限控制确保了安全性。作为智能化交互工具,Jupyter MCP为动态计算环境与AI模型之间搭建了高效桥梁。
312 2
Jupyter MCP服务器部署实战:AI模型与Python环境无缝集成教程
|
4月前
|
JSON JavaScript API
MCP 实战:用配置与真实代码玩转 GitHub 集成
MCP 实战:用配置与真实代码玩转 GitHub 集成
1197 4
|
Linux 应用服务中间件 网络安全
linux安装Gitlab
linux安装Gitlab
269 0
|
2月前
|
存储 安全 Linux
Linux服务器上安装配置GitLab的步骤。
按照以上步骤,一个基础的GitLab服务应该运行并可以使用。记得定期检查GitLab官方文档,因为GitLab的安装和配置步骤可能随着新版本而变化。
234 0
|
Shell Docker 容器
GitlabCI学习笔记之一:安装Gitlab和GitLabRunner
GitlabCI学习笔记之一:安装Gitlab和GitLabRunner
|
Devops 持续交付 开发工具
入职必会-开发环境搭建54-GitLab下载和安装
GitLab 是一个基于 web 的 Git 仓库管理工具,提供了代码托管、版本控制、协作开发、持续集成等功能,是一个综合的 DevOps 平台。用户可以使用 GitLab 托管他们的代码仓库,并利用其丰富的功能来管理和协作开发项目。 以下是 GitLab 的一些主要特点和功能。
248 0
入职必会-开发环境搭建54-GitLab下载和安装
|
Docker 容器
Docker安装Gitlab和Gitlab-Runner并实现项目CICD
Docker安装Gitlab和Gitlab-Runner并实现项目CICD