diff options
author | Evgeny Mandrikov <mandrikov@gmail.com> | 2011-03-01 18:20:54 +0300 |
---|---|---|
committer | Evgeny Mandrikov <mandrikov@gmail.com> | 2011-03-01 20:28:24 +0300 |
commit | 87f77507a1ea50767c5d818beb85434df80d9bbe (patch) | |
tree | 0d3ac0ba40a62c17da7d47416b9709a70a728e34 /sonar-server | |
parent | 2a57b977752e0d651d023cee0b4deb2dce57b38e (diff) | |
download | sonarqube-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.rb | 14 |
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 |