example active ruby-on-rails ldap omniauth gitlab

ruby on rails - active - Estrategia secundaria de GitLab LDAP



gitlab refresh ldap (1)

Estoy usando el paquete GitLab CE Omnibus (gitlab_7.7.2-omnibus.5.4.2.ci-1_amd64) en una instalación limpia de Debian (debian-7.8.0-amd64).

Seguí el proceso de instalación en https://about.gitlab.com/downloads/ y todo funciona bien.

Modifiqué /etc/gitlab/gitlab.rb para usar un único servidor LDAP para la autenticación. Lo cual funcionó también como se esperaba.

Pero cuando traté de usar una conexión LDAP secundaria "gitlab-ctl reconfigure" me da el resultado:

---- Begin output of /opt/gitlab/bin/gitlab-rake cache:clear ---- STDOUT: STDERR: rake aborted! Devise::OmniAuth::StrategyNotFound: Could not find a strategy with name `Ldapsecondary''. Please ensure it is required or explicitly set it using the :strategy_class option . Tasks: TOP => cache:clear => environment (See full trace by running task with --trace) ---- End output of /opt/gitlab/bin/gitlab-rake cache:clear ----

Entonces, el problema es que puedo usar la conexión LDAP ''principal'' pero no puedo usar la conexión ''secundaria''.

¿Hay alguna posibilidad de usar dos conexiones LDAP diferentes en la edición CE a la vez?

Soy nuevo en ruby ​​[en rieles]. Encontré algo en /opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/ldap/config.rb pero no puedo depurar nada.

Aquí están mis configuraciones en /etc/gitlab/gitlab.rb

gitlab_rails[''ldap_enabled''] = true gitlab_rails[''ldap_servers''] = YAML.load <<-EOS # remember to close this block with ''EOS'' below main: # ''main'' is the GitLab ''provider ID'' of this LDAP server label: ''First Company'' host: ''192.168.100.1'' port: 389 uid: ''sAMAccountName'' method: ''tls'' # "tls" or "ssl" or "plain" bind_dn: ''[email protected]'' password: ''Passw0rd'' active_directory: true allow_username_or_email_login: false base: ''dc=firstcompany,dc=local'' user_filter: ''(&(objectClass=person)(objectClass=user)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))'' ## EE only group_base: '''' admin_group: '''' sync_ssh_keys: false secondary: # ''secondary'' is the GitLab ''provider ID'' of second LDAP server label: ''Second Company'' host: ''192.168.200.1'' port: 389 uid: ''sAMAccountName'' method: ''tls'' # "tls" or "ssl" or "plain" bind_dn: ''[email protected]'' password: ''Passw0rd'' active_directory: true allow_username_or_email_login: false base: ''dc=secondcompany,dc=local'' user_filter: ''(&(objectClass=person)(objectClass=user)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))'' ## EE only group_base: '''' admin_group: '''' sync_ssh_keys: false EOS

¡Muchas gracias!


Múltiples servidores LDAP es una característica de EE por lo que establecer la configuración en CE no hará nada. Puede ver la función en la documentación de GitLab .