[MRM-1937] Prevent creation of wrong initial admin Throws a error, if the admin user has the wrong name.
Project: http://git-wip-us.apache.org/repos/asf/archiva-redback-core/repo Commit: http://git-wip-us.apache.org/repos/asf/archiva-redback-core/commit/a3ee3269 Tree: http://git-wip-us.apache.org/repos/asf/archiva-redback-core/tree/a3ee3269 Diff: http://git-wip-us.apache.org/repos/asf/archiva-redback-core/diff/a3ee3269 Branch: refs/heads/master Commit: a3ee32699bf03330665335bc0f952d7dac517708 Parents: db185cb Author: Martin Stockhammer <[email protected]> Authored: Fri Apr 14 21:01:39 2017 +0200 Committer: Martin Stockhammer <[email protected]> Committed: Fri Apr 14 21:01:39 2017 +0200 ---------------------------------------------------------------------- .../org/apache/archiva/redback/i18n/default.properties | 1 + .../org/apache/archiva/redback/i18n/default_de.properties | 1 + .../archiva/redback/rest/services/DefaultUserService.java | 5 +++++ 3 files changed, 7 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/archiva-redback-core/blob/a3ee3269/redback-integrations/redback-common-integrations/src/main/resources/org/apache/archiva/redback/i18n/default.properties ---------------------------------------------------------------------- diff --git a/redback-integrations/redback-common-integrations/src/main/resources/org/apache/archiva/redback/i18n/default.properties b/redback-integrations/redback-common-integrations/src/main/resources/org/apache/archiva/redback/i18n/default.properties index ffffb81..42a437f 100644 --- a/redback-integrations/redback-common-integrations/src/main/resources/org/apache/archiva/redback/i18n/default.properties +++ b/redback-integrations/redback-common-integrations/src/main/resources/org/apache/archiva/redback/i18n/default.properties @@ -103,6 +103,7 @@ cannot.register.user=Unable to process new user registration request. invalid.admin.credentials=Invalid admin credentials, try again. admin.user.already.exists=Admin User exists in database (someone else probably created the user before you). cannot.assign.admin.role=Unable to assign system administrator role. +admin.wrongUsername=The username for the primary administrator must be 'admin'. # -------------------------------------------------- # AssignmentsAction http://git-wip-us.apache.org/repos/asf/archiva-redback-core/blob/a3ee3269/redback-integrations/redback-common-integrations/src/main/resources/org/apache/archiva/redback/i18n/default_de.properties ---------------------------------------------------------------------- diff --git a/redback-integrations/redback-common-integrations/src/main/resources/org/apache/archiva/redback/i18n/default_de.properties b/redback-integrations/redback-common-integrations/src/main/resources/org/apache/archiva/redback/i18n/default_de.properties index b782584..d440d7e 100644 --- a/redback-integrations/redback-common-integrations/src/main/resources/org/apache/archiva/redback/i18n/default_de.properties +++ b/redback-integrations/redback-common-integrations/src/main/resources/org/apache/archiva/redback/i18n/default_de.properties @@ -94,6 +94,7 @@ invalid.admin.credentials=Ung\u00FCltige Administrations-Legitimationsdaten. Bit admin.user.already.exists=Der Administrator existiert bereits. Evtl. wurde der Administrator bereits von jemand anderem angelegt, bevor Sie die M\u00F6glichkeit dazu hatten. cannot.assign.admin.role=System-Administrator Rolle kann nicht zugewiesen werden. +admin.wrongUsername=Der Name für den prim\u00E4ren Administrator mu\u00DF 'admin' lauten. # -------------------------------------------------- # AssignmentsAction # -------------------------------------------------- http://git-wip-us.apache.org/repos/asf/archiva-redback-core/blob/a3ee3269/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/DefaultUserService.java ---------------------------------------------------------------------- diff --git a/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/DefaultUserService.java b/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/DefaultUserService.java index 6a405b7..d85ad41 100644 --- a/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/DefaultUserService.java +++ b/redback-integrations/redback-rest/redback-rest-services/src/main/java/org/apache/archiva/redback/rest/services/DefaultUserService.java @@ -504,6 +504,11 @@ public class DefaultUserService { return Boolean.FALSE; } + log.debug("Creating admin admin user '{}'", adminUser.getUsername()); + if (!RedbackRoleConstants.ADMINISTRATOR_ACCOUNT_NAME.equals(adminUser.getUsername())) { + log.error("Wrong admin user name {}", adminUser.getUsername()); + throw new RedbackServiceException(new ErrorMessage("admin.wrongUsername")); + } try {
