我正在使用gitlab ce 11.7.5版本,并且尝试在gitlab配置中使用user_filter,但是我的组DN中带有括号的OU。
我在外壳中使用ldapsearch工具尝试了此查询,并且返回了我期望的结果:
(&(objectClass = user)(memberof = CN = Gitlab.Group,OU =安全性,OU =组,OU =带空格\(和括号\),DC = eu,DC = domain,DC = com)) / p>
使用ldapsearch,我可以轻松地通过\
来转义括号。如果我使用此查询重新配置conf,则无法访问gitlab网页,它显示错误502。 如果我使用此查询重新配置conf而不使用转义括号,则会显示错误502。 如果我用不带括号的DN更改了user_filter,它可以正常工作,并且我可以与此组中的用户建立联系。
这是与ldap相关的配置部分:
gitlab_rails [‘ldap_enabled’] = true
gitlab_rails [‘ldap_servers’] = YAML.load <<-EOS
主要:
标签:“ LDAP”
主机:“ DCName.eu.domain.com”
端口:389
uid:“ sAMAccountName”
方法:“普通”
bind_dn:“ service.account”
密码:“密码”
active_directory:true
allow_username_or_email_login:‘False’
基本:‘DC = domain,DC = eu,DC = com’
user_filter:'(&(objectClass = user)(memberof = CN = Gitlab.Group,OU =安全性,OU =组,OU =带有空格(和括号)的OU,DC = eu,DC = domain,DC = com)) '
如果能为我的user_filter找到正确的语法,我将不胜感激。 非常感谢。