[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
         {

Reply via email to