2016-11-11 4 views
0

Я использую sonar 5.6 LTS с плагином LDAP 2.1.0.Sonar с плагином ldap не использует LDAP без префикса домена

Основная настройка LDAP работает нормально. Сонар может подключаться к LDAP (в моем активном каталоге). sonar.log:

Test LDAP connection on ldaps://ldap.mycompany:636: OK 

Мой картирование пользователь

ldap.user.baseDn=OU=Users,OU=Accounts,DC=mycompany 
ldap.user.request=(&(objectClass=user)(sAMAccountName={login})) 

При попытке войти в систему с моякомп \ тоби журналы гидролокатора:

DEBUG web[o.s.p.l.LdapUsersProvider] Requesting details for user mycompany\tobi 
... 
DEBUG web[o.s.p.l.LdapUsersProvider] User mycompany\tobi not found in <default> 

Это имеет смысл, как SamAccountName содержит значение tobi, а не mycompany \ tobi. Но при использовании только tobi в качестве логина, sonarqube не подключается к LDAP для аутентификации. Я просто получить «Ошибка аутентификации» и файл журнала содержит только

DEBUG web[http] POST /sonar/sessions/login | time=235ms 

Любые идеи, почему sonarqube не всегда использует LDAP? Спасибо, Tobi

+0

Почему вы не используете «tobi» вместо «mycompany \ tobi» для входа? – Godin

+0

Поскольку sonarqube не будет использовать ldap без префикса домена. Он просто проверял местные учетные записи. По крайней мере, это то, что я вижу в файлах журнала. – Tobi

+0

Если локальная учетная запись существует, то она будет использоваться локально, иначе она перейдет на LDAP. – Godin

ответ

0

Благодаря Година, я наконец нашел ответ:

Первопричиной является то, что я имел локальную учетную запись с тем же учетные данные для входа перед использованием LDAP. При удалении пользователей, использующих веб-интерфейс, они не удаляются постоянно из базы данных. Вместо этого они просто деактивируются.

Я подключился к базе данных (postgresql), а в таблице users остались все старые локальные учетные записи. Так что я просто изменил login столбец всех устаревших локальных учетных записей с

UPDATE users SET login='username_local' WHERE login='username' 

Поскольку эти счета отключены, они не могут быть использованы для входа в sonarqube, но не должны быть удалены некоторые другие таблицы, возможно, все еще есть ссылки на них.

+0

Обратите внимание, что обычно вы не должны прикасаться к базе данных, чтобы предотвратить повреждение данных и непоследовательное состояние базы данных. Я не могу найти билет, но проблема, которую вы описываете, должна быть исправлена ​​в последних версиях (> 5.6) и не требует ручных изменений в базе данных. – Godin

+0

Вы правы. Я искал все таблицы для ссылок на столбец входа, чтобы предотвратить повреждение данных. Но тем не менее это рабочий день. Я нашел sonarqubes Jira, но, похоже, нет способа создать билет без учетной записи. – Tobi

+0

Вам не нужно создавать билет - как я сказал: это должно быть исправлено в последних версиях SQ (> 5.6). – Godin