cn =%v时的LDAP用户过滤器错误

时间:2018-05-28 05:38:33

标签: ldap gitlab

在我的Gitlab的LDAP设置中,我使用了

user_filter : '(memberof=CN=%v,OU=groupname,DC=company,DC=local)

但它给了我一个错误:

  

格式错误的格式化字符串 - %v

我可以为CN

中的用户名过滤器格式

1 个答案:

答案 0 :(得分:1)

正如GitLAb LDAP man page中所述,语法应仅遵循RFC 4515

  # Filter LDAP users
  #
  #   Format: RFC 4515 https://tools.ietf.org/search/rfc4515
  #   Ex. (employeeType=developer)
  #
  #   Note: GitLab does not support omniauth-ldap's custom filter syntax.
  #
  #   Example for getting only specific users:
  #   '(&(objectclass=user)(|(samaccountname=momo)(samaccountname=toto)))'
  #
  user_filter: ''

在您的情况下,CN应该是组的名称,而不是像%v这样的占位符 请参阅示例gitlab-ce issue 34150

您可以使用以下方法进行测试:

  

尝试在没有过滤器设置的情况下通过Rails控制台运行这组查询,然后使用过滤器集   使用sudo gitlab-rails console启动Rails控制台。

adapter = Gitlab::LDAP::Adapter.new('ldapmain')
person = Gitlab::LDAP::Person.find_by_uid('<username>', adapter)
person.memberof