本文共 1425 字,大约阅读时间需要 4 分钟。
上一篇文章介绍了svn集成openldap认证,版本控制除了svn外,git目前也被越来越多的开发者所喜爱,本文将介绍gitlab如何集成openldap实现账号认证
ldap:enabled: trueservers: 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等,我们使用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=com
filter
:添加过滤属性,例如只过滤employeeType为developer的用户进行认证(employeeType=developer)当重启完成后登陆报: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不在白名单??仔细想了一下原因:
或许就是这个问题了,登录lam将用户的邮箱字段补上(需符合白名单规则)重新登录便正常了
转载地址:http://eoutx.baihongyu.com/