2013-12-05 4 views
2

мы хотим интегрировать аутентификацию CAS в Sonar 3.7 LTS. Мы хотим начать работу с устаревшим плагином CAS, который, конечно же, не работает. Мы уже сравнили его с плагином LDAP с here, чей Authenticator интересно реализует устаревший интерфейс LoginPasswordAuthenticator. Одно из главных отличий заключается в том, что плагин CAS Authenticator реализует Authenticator. Таким образом, мы изменили плагин CAS, который вместо этого реализует LoginPasswordAuthenticator.Как интегрировать аутентификацию CAS в SonarQube

Теперь приходит ключ:
В обоих случаях, аутентификатор реализующий Authenticator или LoginPasswordAuthenticator, имя пользователя передается это null. Аутентификация против сервера CAS работает как шарм, плагин знает имя пользователя, но Sonar запрашивает плагин, если он знает пользователя с именем null. Эффект заключается в том, что, когда мы нажимаем на логин, мы перенаправляемся на CAS, заполняем форму входа и перенаправляем обратно в Sonar, все еще не аутентифицированный для самого Sonar.

Мы также рассмотрели возможность использования проверки подлинности контейнера, но не уверены, что это работает с Sonar.

Теперь вопрос (ы):

  • Имеет кто-то есть плагин CAS работает с Sonar 3.7? Если да, то как и вы можете предоставить источники/решение/плагин?
  • Есть ли другой способ, кроме предложенных выше?

Еще одно примечание: мы хотим использовать Sonar в нашем существующем Tomcat 7, поэтому использование Sonar 4 - это способ, которым мы действительно не хотим идти, потому что команда Sonar решила прекратить поддержку войны. Если что-то еще не удается, использование этого решения является приемлемым, но приемлемым.

Благодарим за помощь.

ответ

1

Благодаря @psqita мы получили плагин CAS для Sonar и работаем с Saml 1.1. Бизнес-требования говорят, что анонимный доступ не допускается. К сожалению, установка forceAuthentication на true отправила нас в бесконечную петлю болезненного перенаправления между CAS и Sonar. Таким образом, мы выяснили, что Sonar резко меняет свое поведение таким образом, что игнорирует все плагины аутентификации.

Наше решение: По требованию бизнеса мы не можем разрешить анонимный доступ. Итак, мы внедрили еще один Filter, который перенаправляет условно на CAS. Аутентификация и все еще выполняется плагином. К сожалению, мы до сих пор не знаем, почему была эта бесконечная петля, но теперь этого больше не происходит. Ну, это я думаю ...

Благодарим вас за поддержку и счастливые праздники.

1

Попробуйте эту вилку: https://github.com/jerzykrlk/sonar-cas.

Я восстановил поведение исходного плагина - он должен работать с Sonar 3.7. В настоящее время он неофициальный и потребует ручной сборки. Но, возможно, в какой-то момент он станет официальным плагином.

+0

Большое спасибо за ваш ответ. Я протестировал вашу библиотеку, но после входа в CAS я получаю пустую страницу, содержащую «нет» в качестве только сообщения. Это происходит, проверяя билет на обслуживание. Я попытался использовать SSL с CAS, не используя SSL, отключив X509TrustManager с SSL и без него. Есть идеи? Просто «нет» не то, что просвещает ... – Joshua

+0

Есть очень мало изменений по сравнению с оригинальным плагином CAS, поэтому я сначала попытаюсь поиграть с настройкой. – psiqta

+0

Существует очень мало изменений по сравнению с исходным плагином CAS, поэтому я сначала попытаюсь поиграть с настройкой. Исходный CAS-плагин, используемый для работы с Sonar до 3.1, я думаю. Можете ли вы проверить ту же конфигурацию с Sonar 3.1 и исходным плагином Sonar CAS? И не могли бы вы разместить здесь конфигурацию? Если я ничего не найду сейчас, я погляжу внимательнее в понедельник. – psiqta

Смежные вопросы