Ошибка фильтра пользователя LDAP при cn =% v - PullRequest
0 голосов
/ 28 мая 2018

В настройках LDAP моего Gitlab я использовал

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

Но выдает ошибку:

неправильно сформированная строка формата -% v

В каком формате я могу задать фильтр для имени пользователя в CN

1 Ответ

0 голосов
/ 28 мая 2018

Как уже упоминалось на справочной странице GitLAb LDAP , синтаксис должен соответствовать 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 без набора фильтров, а затем с набором фильтров.
Запустите консоль Rails с помощью sudo gitlab-rails console.

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