sonar.web.sso.enable=true
sonar.web.sso.loginHeader=X-Forwarded-Login
sonar.web.sso.nameHeader=X-Forwarded-Name
sonar.web.sso.emailHeader=X-Forwarded-Email
sonar.web.sso.groupsHeader=X-Forwarded-Groups
sonar.web.sso.refreshIntervalInMinutes=5[...]
<Location />
AuthBasicAuthoritative Off
AuthLDAPBindAuthoritative On
AuthBasicProvider ldap
LDAPReferrals Off
AuthLDAPMaxSubGroupDepth 2
AuthLDAPRemoteUserAttribute sAMAccountName
AuthLDAPURL "ldap://lan.domain.de:389/DC=lan,DC=domain,DC=de?sAMAccountName,memberOf,mail,displayName"
AuthLDAPBindDN someuser
AuthLDAPBindPassword somepasswd
#Require ldap-group CN=Users,DC=lan,DC=domain,DC=de
Require ldap-attribute ObjectClass="person"
AuthLDAPGroupAttributeIsDN off
AuthType SSPI
AuthName "Sonar"
SSPIAuth On
SSPIOfferSSPI On
SSPIAuthoritative On
SSPIDomain LAN
SSPIOmitDomain On
SSPIPackage Negotiate
Require valid-sspi-user
</Location>
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
SSLCertificateFile "E:/Apache/conf/ssl/server.cer"
SSLCertificateKeyFile "E:/Apache/conf/ssl/server.key"
SSLCACertificateFile "E:/Apache/conf/ssl/ca-bundle.crt"
ProxyPass / http://127.0.0.1:9000/
ProxyPassReverse / http://127.0.0.1:9000/
RequestHeader set X-Forwarded-Proto "https"
RequestHeader set X-Forwarded-Login %{AUTHORIZE_sAMAccountName}e
RequestHeader set X-Forwarded-Groups %{AUTHORIZE_memberof}e
RequestHeader set X-Forwarded-Email %{AUTHORIZE_mail}e
RequestHeader set X-Forwarded-Name %{AUTHORIZE_displayName}e
RemoteIPHeader X-Forwarded-For
RemoteIPInternalProxy 127.0.0.1
ServerName SomeServer
CN=Group1,OU=someou,OU=someotherou,DC=lan,DC=domain,DC=de;CN=Group2,OU=someou,OU=someotherou,DC=lan,DC=Domain;...Is there a configuration in Sonarqube ?
Any possibility with filter or sub expressions in the ldap URL ?
Is it possible to rewrite the X-Forwarded-Groups header accordingly ?
The problem is, the groups come as ';' separated DNs (distinguished names) like that:CN=Group1,OU=someou,OU=someotherou,DC=lan,DC=domain,DC=de;CN=Group2,OU=someou,OU=someotherou,DC=lan,DC=Domain;...
But Sonarqube needs the CNs from those groups separated by ',' would be Group1,Group2 in that example - how to achieve that ?Is there a configuration in Sonarqube ?
Any possibility with filter or sub expressions in the ldap URL ?
Is it possible to rewrite the X-Forwarded-Groups header accordingly ?
#activate modul
LoadModule headers_module modules/mod_headers.so
[...]
RequestHeader set X-Forwarded-Groups %{AUTHORIZE_memberof}e
RequestHeader edit* X-Forwarded-Groups CN=([^,]+),[^;]+ $1
RequestHeader edit* X-Forwarded-Groups ; ,Thanks for following up with your solution @Gilbert!Ann
<VirtualHost *:444>
ServerName Sonarhost
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
SSLCertificateFile "E:/Apache/conf/ssl/server.cer"
SSLCertificateKeyFile "E:/Apache/conf/ssl/server.key"
SSLCACertificateFile "E:/Apache/conf/ssl/ca-bundle.crt"
ProxyPass /
ProxyPassReverse / http://127.0.0.1:9000/
RequestHeader set X-Forwarded-Proto "https"
RemoteIPHeader X-Forwarded-For
RemoteIPInternalProxy 127.0.0.1
RequestHeader unset X-Forwarded-Login
RequestHeader unset X-Forwarded-Groups
LogFormat "%a %l %{X-Forwarded-Login}i %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" proxy
CustomLog "| \"C:/Program Files/Apache2.4/bin/rotatelogs.exe\" E:/Apache/Logs/Access/access_%Y-%m-%d.log 86400" proxy
<Proxy *>
Require all denied
Require ip 10.132.111.145
</Proxy>
</VirtualHost>