From 8ae8c7a63137b551f924f605a1643de861407a99 Mon Sep 17 00:00:00 2001
From: Daniel Gerhardt <code@dgerhardt.net>
Date: Sat, 6 Feb 2016 13:41:42 +0100
Subject: [PATCH] Improve handling of admin account configuration

This fixes a potential NPE and should slightly improve performance.
---
 src/main/java/de/thm/arsnova/services/UserService.java | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/src/main/java/de/thm/arsnova/services/UserService.java b/src/main/java/de/thm/arsnova/services/UserService.java
index 762027d4..f672b741 100644
--- a/src/main/java/de/thm/arsnova/services/UserService.java
+++ b/src/main/java/de/thm/arsnova/services/UserService.java
@@ -132,7 +132,7 @@ public class UserService implements IUserService {
 	private int loginTryLimit;
 
 	@Value("${security.admin-accounts}")
-	private String adminAccounts;
+	private String[] adminAccounts;
 
 	private Pattern mailPattern;
 	private BytesKeyGenerator keygen;
@@ -188,13 +188,12 @@ public class UserService implements IUserService {
 			}
 		}
 
-		String[] splittedNames = adminAccounts.split(",");
-		user.setAdmin(Arrays.asList(splittedNames).contains(user.getUsername()));
-
 		if (user == null || user.getUsername().equals("anonymous")) {
 			throw new UnauthorizedException();
 		}
 
+		user.setAdmin(Arrays.asList(adminAccounts).contains(user.getUsername()));
+
 		return user;
 	}
 
-- 
GitLab