LDAP落地实战(三):GitLab集成OpenLDAP认证
上一篇文章介绍了svn集成OpenLDAP认证,版本控制除了svn外,git目前也被越来越多的开发者所喜爱,本文将介绍GitLab如何集成openldap实现账号认证
GitLab集成OpenLDAP认证
- 修改配置文件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等,我们使用uidmethod:如果开启了tls或ssl则填写对应的tls或ssl,都没有就填写plainbind_dn:search搜索账号信息的用户完整bind(需要一个有read权限的账号验证通过后搜索用户输入的用户名是否存在)password:bind_dn用户的密码,bind_dn和password两个参数登录LDAP服务器搜索用户active_directory:LDAP服务是否是windows的AD,我们是用的OpenLDAP,这里写falseallow_username_or_email_login:是否允许用户名或者邮箱认证,如果是则用户输入用户名或邮箱都可base:从哪个位置搜索用户,例如允许登录GitLab的用户都在ou gitlab里,name这里可以写ou=gitlab,dc=domain,dc=comfilter:添加过滤属性,例如只过滤employeeType为developer的用户进行认证(employeeType=developer)
- 重启GitLab服务,看到页面已经有LDAP的登录选项了
报错处理
当重启完成后登陆报: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不在白名单??仔细想了一下原因:
- gitlab之前为了安全配置了 Restricted domains for sign-ups只允许domain.com邮箱的用户注册
- 而我OpenLDAP在新建用户的时候邮箱没有填写为空
或许就是这个问题了,登录lam将用户的邮箱字段补上(需符合白名单规则)重新登录便正常了
相关文章推荐阅读:
- LDAP落地实战(一):OpenLDAP部署及管理维护
- LDAP落地实战(二):SVN集成OpenLDAP认证
- LDAP落地实战(三):GitLab集成OpenLDAP认证
- LDAP落地实战(四):Jenkins集成OpenLDAP认证
- LDAP落地实战(五):Django集成OpenLDAP认证
LDAP落地实战(三):GitLab集成OpenLDAP认证的更多相关文章
- LDAP落地实战(四):Jenkins集成OpenLDAP认证
前几篇分文章分别介绍了OpenLDAP的部署管理和维护以及svn.git的接入,今天我们再下一城接入jenkins. 前情提要:LDAP系列文章 LDAP落地实战(一):OpenLDAP部署及管理维护 ...
- LDAP落地实战(一):OpenLDAP部署及管理维护
公司内部会有许多第三方系统或服务,例如Svn,Git,VPN,Jira,Jenkins等等,每个系统都需要维护一份账号密码以支持用户认证,当然公司也会有许多的主机或服务器,需要开放登录权限给用户登录使 ...
- LDAP落地实战(二):SVN集成OpenLDAP认证
上一篇文章我们介绍了LDAP的部署以及管理维护,那么如何接入LDAP实现账号统一认证呢?这篇文章将带你完成svn的接入验证 subversion集成OpenLDAP认证 系统环境:debian8.4 ...
- kubernetes实战(十四):k8s持久化部署gitlab集成openLDAP登录
1.基本概念 使用k8s安装gitlab-ce,采用GlusterFS实现持久化(注意PG使用的是NFS存储,使用动态存储重启postgresql的pod后无法成功启动pg,待解决),并集成了open ...
- Django集成OpenLDAP认证
本文详细介绍了django-auth-ldap的使用方法,参数含义,并提供了示例代码 版本说明 Django==2.2 django-auth-ldap==1.7.0 集成过程 Django集成LDA ...
- gitlab 集成openldap
Setting up LDAP sign-in If you have an LDAP directory service such as Active Directory, you can conf ...
- Spring Boot实战三:集成RabbitMQ,实现消息确认
Spring Boot集成RabbitMQ相比于Spring集成RabbitMQ简单很多,有兴趣了解Spring集成RabbitMQ的同学可以看我之前的<RabbitMQ学习笔记>系列的博 ...
- ldap配置系列三:grafana集成ldap
ldap配置系列三:grafana集成ldap grafana的简介 grafana是一个类似kibana的东西,是对来自各种数据源的数据进行实时展示的平台,拥有这牛逼的外观.给一个官方的demo体验 ...
- 最佳实战Docker持续集成图文详解
最佳实战Docker持续集成图文详解 这是一种真正的容器级的实现,这个带来的好处,不仅仅是效率的提升,更是一种变革:开发人员第一次真正为自己的代码负责——终于可以跳过运维和测试部门,自主维护运行环境( ...
随机推荐
- Linux 系统中进程5中常见状态
运行.中断.不可终端.僵死.停止 R(运行):正在运行 or 在运行队列中等待: S(中断):处于休眠中,等待接收信号,并脱离改状态: D(不可中断):不响应信号输入,即使kill也不起作用: Z(僵 ...
- 20155225 2016-2017-2 《Java程序设计》第九周学习总结
20155225 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC入门 了解JDBC架构 使用JDBC API JDBC是用于执行SQL的解决方案,开 ...
- hdu 2780 Su-Su-Sudoku(DFS数独)
题目链接:hdu2780 #include<stdio.h> #include<string.h> #include<queue> #include<math ...
- Spring cache 缓存
概述 Spring 3.1 引入了激动人心的基于注释(annotation)的缓存(cache)技术,它本质上不是一个具体的缓存实现方案(例如 EHCache 或者 OSCache),而是一个对缓存使 ...
- SSD测试第一神器——FIO
原文 地址 http://www.ssdfans.com/ssd%E6%B5%8B%E8%AF%95%E7%AC%AC%E4%B8%80%E7%A5%9E%E5%99%A8-fio-2/ 对于SSD性 ...
- 如何统计TFS代码库中的团队项目所占用的磁盘空间
在一个开发团队较多的研发中心,当开发人员的代码数据积累到一定程度,TFS系统的磁盘空间的使用率会逐渐成为系统管理员关注的问题.你可能会关注代码库中每个团队项目,甚至每个目录占用的的磁盘空间.不幸的,即 ...
- vux Tabbar组件入门备忘大佬多指点
一.Tabbar引入及使用 1.新创建vue文件 2.在vue文件中添加插件 <template> <div> <tabbar style="position: ...
- JS下对日期进行比较
20181019更新一个获取指定日期的function //获取指定日期 function getBeforeDate(n) { var n = n; var d = new Date(); var ...
- 【自动化专题】selenium如何轻松搞定文件上传
使用selenium做自动化时,我们经常会遇到的一个让人头疼的问题就是文件上传. 问题的难点在于selenium无法识别并操作Windows窗口,若我们可以绕过弹出框直接把文件信息上传给选择按钮,难点 ...
- Restframework 权限permission 组件实例-2
1.在视图类里添加权限组件 class BookView(APIView): authentication_classes = [UserAuth] permission_classes = [SVI ...