summaryrefslogtreecommitdiffstats
path: root/sonar-server
diff options
context:
space:
mode:
authorEvgeny Mandrikov <mandrikov@gmail.com>2011-03-01 18:20:54 +0300
committerEvgeny Mandrikov <mandrikov@gmail.com>2011-03-01 20:28:24 +0300
commit87f77507a1ea50767c5d818beb85434df80d9bbe (patch)
tree0d3ac0ba40a62c17da7d47416b9709a70a728e34 /sonar-server
parent2a57b977752e0d651d023cee0b4deb2dce57b38e (diff)
downloadsonarqube-87f77507a1ea50767c5d818beb85434df80d9bbe.tar.gz
sonarqube-87f77507a1ea50767c5d818beb85434df80d9bbe.zip
SONAR-1923 Add option to force downcase of username during authentication
Diffstat (limited to 'sonar-server')
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/lib/need_authentication.rb14
1 files changed, 11 insertions, 3 deletions
diff --git a/sonar-server/src/main/webapp/WEB-INF/lib/need_authentication.rb b/sonar-server/src/main/webapp/WEB-INF/lib/need_authentication.rb
index eb07a596720..8df6024d53f 100644
--- a/sonar-server/src/main/webapp/WEB-INF/lib/need_authentication.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/lib/need_authentication.rb
@@ -88,17 +88,25 @@ module NeedAuthentication
#
def authenticate(login, password)
return nil if login.blank?
+ java_facade = Java::OrgSonarServerUi::JRubyFacade.new
+
+ # Downcase login (typically for Active Directory)
+ # Note that login in Sonar DB is case-sensitive, however in this case authentication and automatic user creation will always happen with downcase login
+ downcase = java_facade.getConfigurationValue('sonar.authenticator.downcase')
+ if downcase == 'true'
+ login = login.downcase
+ end
+
return nil if !AuthenticatorFactory.authenticator.authenticate?(login, password)
user = User.find_by_login(login)
# Automatically create a user in the sonar db if authentication has been successfully done
- java_facade = Java::OrgSonarServerUi::JRubyFacade.new
- create_user = java_facade.getConfigurationValue('sonar.authenticator.createUsers');
+ create_user = java_facade.getConfigurationValue('sonar.authenticator.createUsers')
if !user && create_user=='true'
user=User.new(:login => login, :name => login, :email => '', :password => password, :password_confirmation => password)
user.save!
- default_group_name = java_facade.getConfigurationValue('sonar.defaultGroup') || 'sonar-users';
+ default_group_name = java_facade.getConfigurationValue('sonar.defaultGroup') || 'sonar-users'
default_group=Group.find_by_name(default_group_name)
if default_group
user.groups<<default_group