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.blz.netease.com'
    port: 389
    uid: 'uid'
    method: 'plain'
    bind_dn: 'uid=authz,ou=Public,dc=blz,dc=internal'
    password: 'ImNVZODT884'

    timeout: 10

    active_directory: false
    allow_username_or_email_login: false

    block_auto_created_users: false

    base: 'dc=blz,dc=internal'
    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将用户的邮箱字段补上(需符合白名单规则)重新登录便正常了

扫码关注公众号查看更多原创文章

目录
相关文章
|
1月前
|
分布式计算 大数据 Apache
ClickHouse与大数据生态集成:Spark & Flink 实战
【10月更文挑战第26天】在当今这个数据爆炸的时代,能够高效地处理和分析海量数据成为了企业和组织提升竞争力的关键。作为一款高性能的列式数据库系统,ClickHouse 在大数据分析领域展现出了卓越的能力。然而,为了充分利用ClickHouse的优势,将其与现有的大数据处理框架(如Apache Spark和Apache Flink)进行集成变得尤为重要。本文将从我个人的角度出发,探讨如何通过这些技术的结合,实现对大规模数据的实时处理和分析。
109 2
ClickHouse与大数据生态集成:Spark & Flink 实战
|
2月前
|
Java Maven Docker
gitlab-ci 集成 k3s 部署spring boot 应用
gitlab-ci 集成 k3s 部署spring boot 应用
|
2月前
|
存储 JavaScript 数据库
ToB项目身份认证AD集成(一):基于目录的用户管理、LDAP和Active Directory简述
本文介绍了基于目录的用户管理及其在企业中的应用,重点解析了LDAP协议和Active Directory服务的概念、关系及差异。通过具体的账号密码认证时序图,展示了利用LDAP协议与AD域进行用户认证的过程。总结了目录服务在现代网络环境中的重要性,并预告了后续的深入文章。
|
2月前
|
人工智能 JavaScript 网络安全
ToB项目身份认证AD集成(三完):利用ldap.js实现与windows AD对接实现用户搜索、认证、密码修改等功能 - 以及针对中文转义问题的补丁方法
本文详细介绍了如何使用 `ldapjs` 库在 Node.js 中实现与 Windows AD 的交互,包括用户搜索、身份验证、密码修改和重置等功能。通过创建 `LdapService` 类,提供了与 AD 服务器通信的完整解决方案,同时解决了中文字段在 LDAP 操作中被转义的问题。
|
2月前
|
jenkins Shell 持续交付
Jenkins持续集成GitLab项目 GitLab提交分支后触发Jenkis任务 持续集成 CI/CD 超级详细 超多图(二)
Jenkins持续集成GitLab项目 GitLab提交分支后触发Jenkis任务 持续集成 CI/CD 超级详细 超多图(二)
75 0
|
2月前
|
Dart Android开发
鸿蒙Flutter实战:03-鸿蒙Flutter开发中集成Webview
本文介绍了在OpenHarmony平台上集成WebView的两种方法:一是使用第三方库`flutter_inappwebview`,通过配置pubspec.lock文件实现;二是编写原生ArkTS代码,自定义PlatformView,涉及创建入口能力、注册视图工厂、处理方法调用及页面构建等步骤。
68 0
|
3月前
|
监控 关系型数据库 MySQL
zabbix agent集成percona监控MySQL的插件实战案例
这篇文章是关于如何使用Percona监控插件集成Zabbix agent来监控MySQL的实战案例。
74 2
zabbix agent集成percona监控MySQL的插件实战案例
|
2月前
|
jenkins Shell 持续交付
Jenkins持续集成GitLab项目 GitLab提交分支后触发Jenkis任务 持续集成 CI/CD 超级详细 超多图(一)
Jenkins持续集成GitLab项目 GitLab提交分支后触发Jenkis任务 持续集成 CI/CD 超级详细 超多图(一)
191 0
|
3月前
|
并行计算 关系型数据库 分布式数据库
朗坤智慧科技「LiEMS企业管理信息系统」通过PolarDB产品生态集成认证!
近日,朗坤智慧科技股份有限公司「LiEMS企业管理信息系统软件」通过PolarDB产品生态集成认证!
|
4月前
|
C# Windows 开发者
当WPF遇见OpenGL:一场关于如何在Windows Presentation Foundation中融入高性能跨平台图形处理技术的精彩碰撞——详解集成步骤与实战代码示例
【8月更文挑战第31天】本文详细介绍了如何在Windows Presentation Foundation (WPF) 中集成OpenGL,以实现高性能的跨平台图形处理。通过具体示例代码,展示了使用SharpGL库在WPF应用中创建并渲染OpenGL图形的过程,包括开发环境搭建、OpenGL渲染窗口创建及控件集成等关键步骤,帮助开发者更好地理解和应用OpenGL技术。
296 0

相关实验场景

更多