升级到SonarQube 6.0后,我们再也无法使用SSO登录插件了。这是我们在TRACE模式下的SonarQube.log:
DEBUG web[o.s.s.u.NewUserNotifier] User created: xxxx@xxxx. Notifying NewUserHandler handlers...
TRACE web[sql] time=0ms | sql=select u.login,u.name,u.email,u.active,u.scm_accounts,u.created_at,u.updated_at from users u where u.updated_at>? | params=1470426045520
TRACE web[es] ES refresh request on indices 'users' | time=94ms
**ERROR web[rails] cannot load Java class org.sonar.server.user.RubyUserSession**
DEBUG web[http] GET /active_directory/validate | time=2703ms
插件配置非常简单(只需一行):
sonar.security.realm=ACTIVE_DIRECTORY
有没有办法通过添加其他配置设置来解决此问题?如何判断SonarQube或SSO代码中是否存在此错误?
答案 0 :(得分:2)
似乎在SonarQube 6.0中更改了身份验证界面,以便逐步淘汰一些旧的软件组件。因此,通过更改SonarQube配置无法解决;必须更新SSO插件。可以在SonarQubeCommunity/sonar-activedirectory GitHub和SonarQube Google group上找到该票证。
答案 1 :(得分:2)
感谢。我写了链接的谷歌小组笔记。可悲的是,它看起来像SSO,因为即使插件更新,它也不会得到支持。用户仍然需要点击链接。
https://github.com/SonarQubeCommunity/sonar-activedirectory/issues/9
使用BaseIdentityProvider API(https://github.com/SonarSource/sonarqube/blob/master/sonar-plugin-api/src/main/java/org/sonar/api/server/authentication/BaseIdentityProvider.java) - > 通过在登录页面中创建链接
来允许SSO