From a5276dbaf12f0d919bd255c0b02b484858b0608b Mon Sep 17 00:00:00 2001 From: Julien Lancelot Date: Tue, 4 Nov 2014 17:30:16 +0100 Subject: [PATCH] SONAR-4950 update the users.updated_at in order to block other sessions --- ...up_roles.rb => 605_remove_duplication_in_group_roles.rb} | 6 ++++-- .../src/main/webapp/WEB-INF/lib/need_authentication.rb | 3 +++ .../java/org/sonar/core/persistence/DatabaseVersion.java | 2 +- .../main/resources/org/sonar/core/persistence/rows-h2.sql | 2 +- 4 files changed, 9 insertions(+), 4 deletions(-) rename server/sonar-web/src/main/webapp/WEB-INF/db/migrate/{602_remove_duplication_in_group_roles.rb => 605_remove_duplication_in_group_roles.rb} (91%) diff --git a/server/sonar-web/src/main/webapp/WEB-INF/db/migrate/602_remove_duplication_in_group_roles.rb b/server/sonar-web/src/main/webapp/WEB-INF/db/migrate/605_remove_duplication_in_group_roles.rb similarity index 91% rename from server/sonar-web/src/main/webapp/WEB-INF/db/migrate/602_remove_duplication_in_group_roles.rb rename to server/sonar-web/src/main/webapp/WEB-INF/db/migrate/605_remove_duplication_in_group_roles.rb index 069b9a3aff4..d39e52b4595 100644 --- a/server/sonar-web/src/main/webapp/WEB-INF/db/migrate/602_remove_duplication_in_group_roles.rb +++ b/server/sonar-web/src/main/webapp/WEB-INF/db/migrate/605_remove_duplication_in_group_roles.rb @@ -19,8 +19,8 @@ # # -# SonarQube 4.5.1 -# SONAR-4950 Unique constraint cannot be created because it would be on resource_id that is nullable +# SonarQube 4.5.2 +# SONAR-4950 # class RemoveDuplicationInGroupRoles < ActiveRecord::Migration @@ -40,5 +40,7 @@ class RemoveDuplicationInGroupRoles < ActiveRecord::Migration end end end + + add_index 'group_roles', ['group_id', 'resource_id', 'role'], :unique => true, :name => 'uniq_group_roles' end end diff --git a/server/sonar-web/src/main/webapp/WEB-INF/lib/need_authentication.rb b/server/sonar-web/src/main/webapp/WEB-INF/lib/need_authentication.rb index 61b266fc66d..3e49975583a 100644 --- a/server/sonar-web/src/main/webapp/WEB-INF/lib/need_authentication.rb +++ b/server/sonar-web/src/main/webapp/WEB-INF/lib/need_authentication.rb @@ -146,6 +146,9 @@ class PluginRealm user.name = details.getName() user.email = details.getEmail() end + + # Force the update of updated_ad in order to execute an SQL update to block other session + user.updated_at = Time.now end if @save_password user.password = password diff --git a/sonar-core/src/main/java/org/sonar/core/persistence/DatabaseVersion.java b/sonar-core/src/main/java/org/sonar/core/persistence/DatabaseVersion.java index 6fdca61abb5..2b7f67bf040 100644 --- a/sonar-core/src/main/java/org/sonar/core/persistence/DatabaseVersion.java +++ b/sonar-core/src/main/java/org/sonar/core/persistence/DatabaseVersion.java @@ -33,7 +33,7 @@ import java.util.List; */ public class DatabaseVersion implements BatchComponent, ServerComponent { - public static final int LAST_VERSION = 604; + public static final int LAST_VERSION = 605; public static enum Status { UP_TO_DATE, REQUIRES_UPGRADE, REQUIRES_DOWNGRADE, FRESH_INSTALL diff --git a/sonar-core/src/main/resources/org/sonar/core/persistence/rows-h2.sql b/sonar-core/src/main/resources/org/sonar/core/persistence/rows-h2.sql index 7cad5b16ff4..57093c0eb70 100644 --- a/sonar-core/src/main/resources/org/sonar/core/persistence/rows-h2.sql +++ b/sonar-core/src/main/resources/org/sonar/core/persistence/rows-h2.sql @@ -256,9 +256,9 @@ INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('583'); INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('584'); INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('600'); INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('601'); -INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('602'); INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('603'); INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('604'); +INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('605'); INSERT INTO USERS(ID, LOGIN, NAME, EMAIL, CRYPTED_PASSWORD, SALT, CREATED_AT, UPDATED_AT, REMEMBER_TOKEN, REMEMBER_TOKEN_EXPIRES_AT) VALUES (1, 'admin', 'Administrator', '', 'a373a0e667abb2604c1fd571eb4ad47fe8cc0878', '48bc4b0d93179b5103fd3885ea9119498e9d161b', '2011-09-26 22:27:48.0', '2011-09-26 22:27:48.0', null, null); ALTER TABLE USERS ALTER COLUMN ID RESTART WITH 2; -- 2.39.5