SonarQube 5.6 с плагином LDAP 2.0 не может получить данные для внешних пользователей

Мы пытаемся настроить плагин LDAP 2.0 для SonarQube 5.6, чтобы иметь возможность аутентифицировать пользователей в нашем домене AD. В журнале sonar.log мы получаем следующий отзыв:

2016.09.12 10:55:16 INFO web [osspServerPluginRepository] Развернуть подключаемый модуль C # / 5.3.1 / 6d9c99cb816b5d82ee23b51dbb05f9ee37a3bf2d 2016.09.12 10:55:16 INFO web [osspServerPluginRepository] Deployc14fd1108f09f09f07989f07ec8989f09f09e09e09e08e09e07ec811e8e1 : 16 INFO web [osspServerPluginRepository] Развернуть подключаемый модуль LDAP / 2.0 / 2910f3981167a70a201ccfae01471dfd26c794b7 2016.09.12 10:55:16 INFO web [osspServerPluginRepository] Развернуть подключаемый модуль Web / 2.4 / 61c14c00c00da36f77d [osspServerPluginRepository] Убедитесь, что в столбцах базы данных учитывается регистр и акцент. 2016.09.12 10:55:16 INFO web [osspRailsAppsDeployer] Развертывание приложений Ruby on Rails 2016.09.12 10:55:16 INFO web [osspRailsAppsDeployer] Развертывание приложения: ldap 2016.09 .12 10:55:18 INFO web [osspUpdateCenterClient] Центр обновлений: http://update.sonarsource.org/update-center.properties (без прокси) 2016.09.12 10:55:18 INFO web [org.sonar.INFO] Область безопасности: LDAP 2016.09.12 10:55:18 INFO web [osplLdapSettingsManager] Сопоставление пользователей: LdapUserMapping {baseDn = ou = ****, dc = ****, dc = ****, request = (& (objectClass = User) (sAMAccountName = {0})), realNameAttribute = Displayname, emailAttribute = mail} 2016.09.12 10:55:18 INFO web [osplLdapSettingsManager] Сопоставление групп: LdapGroupMapping {baseDn = ou = ****, dc = ****, dc = ****, idAttribute = cn, requiredUserAttributes = [dn], request = (& (objectClass = Group) (name = {0}))} 2016.09.12 10:55:18 INFO web [osplLdapContextFactory] Проверить соединение LDAP на ldap: // ****: 389: OK 2016.09.12 10:55:18 INFO web [org.sonar.INFO] Область безопасности запущена

Область безопасности запущена, но попытки входа в систему никогда не увенчались успехом. В sonar.log мы получаем следующую ошибку при попытке входа в систему:

ERROR web [rails] Ошибка от внешнего поставщика пользователей: исключение Java :: OrgSonarApiUtils :: SonarException: невозможно получить сведения о пользователе **** в

Мы добавили следующую конфигурацию в sonar.properties:

# LDAP configuration
# General Configuration
sonar.security.realm=LDAP
ldap.url: ldap://****:389
sonar.forceAuthentication=true 
ldap.windows.compatibilityMode = true

# User Configuration
ldap.user.baseDn=ou=***,dc=***,dc=***
ldap.user.request=(&(objectClass=User)(sAMAccountName={login}))
ldap.user.realNameAttribute=Displayname
ldap.user.emailAttribute=mail

# Group Configuration
ldap.group.baseDn=ou=***,dc=***,dc=***
ldap.group.request=(&(objectClass=Group)(name={dn}))

В админке мы тоже не можем найти пользователей. Мы протестировали запрос-запрос (& (objectClass = User) (sAMAccountName = {login})) с помощью другого инструмента, и он отлично работает. Нам интересно, как мы должны авторизовать пользователей. Должны ли они быть доступны на странице пользователей (в администрировании / безопасности)?


person Jeffrey Zeeman    schedule 14.09.2016    source источник
comment
Во-первых, вам больше не нужно ldap.windows.compatibilityMode = true с LDAP 2.0, поскольку он использовался для функции SSO Active Directory. Тогда можете ли вы отправить всю ошибку, сгенерированную во время аутентификации? Спасибо   -  person Julien L. - SonarSource Team    schedule 14.09.2016
comment
После увеличения уровня журнала мы получаем следующую ошибку: 2016.09.15 08:43:34 DEBUG web [osplLdapUsersProvider] [LDAP: код ошибки 1 - 000004DC: LdapErr: DSID-0C090749, комментарий: Для выполнения этой операции для соединения должно быть выполнено успешное связывание., data 0, v2580] javax.naming.NamingException: [LDAP: код ошибки 1 - 000004DC: LdapErr: DSID-0C090749, комментарий: для выполнения этой операции необходимо успешное связывание завершено на соединении., данные 0, v2580] Это весь журнал: 1drv.ms/u/s ! AjQuj_xHAAUnwnmJHVHaRK2n_j_Z   -  person Jeffrey Zeeman    schedule 15.09.2016
comment
Как сказал Нико в своем ответе, предоставили ли вы ldap.bindDn и ldap.bindPassword?   -  person Julien L. - SonarSource Team    schedule 15.09.2016


Ответы (1)


Настройте ldap.bindDn и ldap.bindPassword в sonar.properties (см. документацию по плагину LDAP). Без него плагин возвращается к анонимному доступу, и поэтому в большинстве сред попытка аутентификации не удастся.

Примечание: настройка sonar.log.level=DEBUG обычно дает подробную информацию о том, в чем заключается основная проблема.

person Nicolas B. - SonarSource Team    schedule 14.09.2016