From 76966cbae13f6d731ac245f2140292911829681c Mon Sep 17 00:00:00 2001 From: Simon Brandhof Date: Mon, 6 May 2013 10:07:45 +0200 Subject: [PATCH] Fix authentication during db upgrade --- .../main/webapp/WEB-INF/lib/need_authentication.rb | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 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 914ff448460..8750a0691bf 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 @@ -180,8 +180,12 @@ class RealmFactory def self.realm if @@realm.nil? realm_factory = Api::Utils.java_facade.getCoreComponentByClassname('org.sonar.server.ui.SecurityRealmFactory') - component = realm_factory.getRealm() - @@realm = component ? PluginRealm.new(component) : DefaultRealm.new + if realm_factory + component = realm_factory.getRealm() + @@realm = component ? PluginRealm.new(component) : DefaultRealm.new + else + # SecurityRealmFactory is not yet available in pico, for example during db upgrade + end end @@realm end @@ -213,11 +217,11 @@ module NeedAuthentication login = login.downcase end - RealmFactory.realm.authenticate?(login, password, servlet_request) + RealmFactory.realm.authenticate?(login, password, servlet_request) if RealmFactory.realm end def editable_password? - RealmFactory.realm.editable_password? + RealmFactory.realm && RealmFactory.realm.editable_password? end end end -- 2.39.5