用户未在 Sonar 5.6 中针对 LDAP 进行身份验证

User not authenticated against LDAP in Sonar 5.6

我在 Sonar 5.6.6 LTS(ldap 插件 v2.2.0.608)中设置了正确的 LDAP 配置,我在日志中看到连接已建立。

当我第一次尝试使用我的 LDAP 登录名登录时,我能够这样做,但我的用户当然没有权限 - 这没关系。

当我想先添加我的用户并给他即 sonar-administrators 组时,问题就出现了。当它设置好并且我尝试登录时,Sonar 不会针对外部系统 (LDAP) 对我进行身份验证,而是使用他自己的数据库。

我确定它可以与 Sonar 4.5 一起使用,但现在我无法正确配置它。

问题是创建新用户时默认会将他们添加到 SonarQube 的本地数据库中。要更改此默认行为,我发现用于创建用户的 REST API 端点包含标志 'local',该标志定义用户是否应被视为添加到本地数据库的本地用户,或者他应该被添加作为外部用户再次对 LDAP 等外部系统进行身份验证。

所以最终答案是使用以下 REST API 端点:

private final String CREATE_USER_API = "/api/users/create?login={login}&name={name}&local=false"

请注意以下 属性:字符串末尾的

local=false