From b956c6edcd13e07b220bf3fda0df569b851b8117 Mon Sep 17 00:00:00 2001 From: Robert von Burg Date: Tue, 16 Oct 2018 18:40:45 +0200 Subject: [PATCH] [Fix] Fixed DefaultPrivilegeHandler.detectPrivilegeConflicts for same roles --- .../privilege/handler/DefaultPrivilegeHandler.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/li.strolch.privilege/src/main/java/li/strolch/privilege/handler/DefaultPrivilegeHandler.java b/li.strolch.privilege/src/main/java/li/strolch/privilege/handler/DefaultPrivilegeHandler.java index f79b0252e..1ad4e2a22 100644 --- a/li.strolch.privilege/src/main/java/li/strolch/privilege/handler/DefaultPrivilegeHandler.java +++ b/li.strolch.privilege/src/main/java/li/strolch/privilege/handler/DefaultPrivilegeHandler.java @@ -1778,7 +1778,7 @@ public class DefaultPrivilegeHandler implements PrivilegeHandler { } if (!conflicts.isEmpty()) { - String msg = conflicts.stream().collect(Collectors.joining("\n")); + String msg = String.join("\n", conflicts); throw new PrivilegeException(msg); } } @@ -1790,10 +1790,10 @@ public class DefaultPrivilegeHandler implements PrivilegeHandler { for (String roleName : userRoles) { Role role = this.persistenceHandler.getRole(roleName); for (String privilegeName : role.getPrivilegeNames()) { - if (!privilegeNames.containsKey(privilegeName)) { + String roleOrigin = privilegeNames.get(privilegeName); + if (roleOrigin == null) { privilegeNames.put(privilegeName, roleName); - } else { - String roleOrigin = privilegeNames.get(privilegeName); + } else if (!roleOrigin.equals(roleName)) { String msg = "User {0} has conflicts for privilege {1} on roles {2} and {3}"; msg = MessageFormat.format(msg, user.getUsername(), privilegeName, roleOrigin, roleName); conflicts.add(msg);