From d32a1083e79ab2a03cd6a37450cfaa3772bc574c Mon Sep 17 00:00:00 2001 From: mbaudier Date: Sat, 19 Aug 2017 17:53:16 +0200 Subject: [PATCH] Fix number of collected users when two indexed properties are equals (e.g. mail and uid) --- .../src/org/argeo/cms/auth/UserAdminLoginModule.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/org.argeo.cms/src/org/argeo/cms/auth/UserAdminLoginModule.java b/org.argeo.cms/src/org/argeo/cms/auth/UserAdminLoginModule.java index a55247a1e..8124c7d0f 100644 --- a/org.argeo.cms/src/org/argeo/cms/auth/UserAdminLoginModule.java +++ b/org.argeo.cms/src/org/argeo/cms/auth/UserAdminLoginModule.java @@ -2,8 +2,8 @@ package org.argeo.cms.auth; import java.io.IOException; import java.security.PrivilegedAction; -import java.util.ArrayList; import java.util.Arrays; +import java.util.HashSet; import java.util.List; import java.util.Locale; import java.util.Map; @@ -112,7 +112,7 @@ public class UserAdminLoginModule implements LoginModule { // throw new FailedLoginException("Invalid credentials"); if (!user.hasCredential(null, password)) return false; -// throw new FailedLoginException("Invalid credentials"); + // throw new FailedLoginException("Invalid credentials"); authenticatedUser = user; return true; } @@ -181,7 +181,7 @@ public class UserAdminLoginModule implements LoginModule { protected User searchForUser(UserAdmin userAdmin, String providedUsername) { try { // TODO check value null or empty - List collectedUsers = new ArrayList(); + Set collectedUsers = new HashSet<>(); // try dn User user = null; try { @@ -198,7 +198,7 @@ public class UserAdminLoginModule implements LoginModule { collectedUsers.add(user); } if (collectedUsers.size() == 1) - return collectedUsers.get(0); + return collectedUsers.iterator().next(); else if (collectedUsers.size() > 1) log.warn(collectedUsers.size() + " users for provided username" + providedUsername); return null; -- 2.30.2