From 6342d1d28f8338866c876f8b6364ce3f1eac28aa Mon Sep 17 00:00:00 2001 From: Bruno Sinou Date: Wed, 6 Apr 2016 13:38:28 +0000 Subject: [PATCH] Fix glitches while testing the Security Perspective with LDAP backend git-svn-id: https://svn.argeo.org/commons/trunk@8858 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- .../argeo/osgi/useradmin/LdapUserAdmin.java | 4 ++-- .../argeo/osgi/useradmin/LdifUserAdmin.java | 20 ++++++++++--------- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/org.argeo.security.core/src/org/argeo/osgi/useradmin/LdapUserAdmin.java b/org.argeo.security.core/src/org/argeo/osgi/useradmin/LdapUserAdmin.java index 73dc510ec..7acb7dffd 100644 --- a/org.argeo.security.core/src/org/argeo/osgi/useradmin/LdapUserAdmin.java +++ b/org.argeo.security.core/src/org/argeo/osgi/useradmin/LdapUserAdmin.java @@ -106,7 +106,7 @@ public class LdapUserAdmin extends AbstractUserDirectory { + name); return res; } catch (NamingException e) { - throw new UserDirectoryException("Cannot get role for " + name, e); + return null; } } @@ -193,7 +193,7 @@ public class LdapUserAdmin extends AbstractUserDirectory { } // add for (LdapName dn : wc.getNewUsers().keySet()) { - if (!entryExists(dn)) + if (entryExists(dn)) throw new UserDirectoryException("User to create found " + dn); } diff --git a/org.argeo.security.core/src/org/argeo/osgi/useradmin/LdifUserAdmin.java b/org.argeo.security.core/src/org/argeo/osgi/useradmin/LdifUserAdmin.java index 859adde09..7b87a4b6e 100644 --- a/org.argeo.security.core/src/org/argeo/osgi/useradmin/LdifUserAdmin.java +++ b/org.argeo.security.core/src/org/argeo/osgi/useradmin/LdifUserAdmin.java @@ -163,13 +163,13 @@ public class LdifUserAdmin extends AbstractUserDirectory { res.addAll(groups.values()); } else { for (DirectoryUser user : users.values()) { -// System.out.println("\n" + user.getName()); -// Dictionary props = user.getProperties(); -// for (Enumeration keys = props.keys(); keys -// .hasMoreElements();) { -// String key = keys.nextElement(); -// System.out.println(" " + key + "=" + props.get(key)); -// } + // System.out.println("\n" + user.getName()); + // Dictionary props = user.getProperties(); + // for (Enumeration keys = props.keys(); keys + // .hasMoreElements();) { + // String key = keys.nextElement(); + // System.out.println(" " + key + "=" + props.get(key)); + // } if (f.match(user.getProperties())) res.add(user); } @@ -200,13 +200,15 @@ public class LdifUserAdmin extends AbstractUserDirectory { else if (groups.containsKey(dn)) groups.remove(dn); else - throw new UserDirectoryException("User to delete no found " + throw new UserDirectoryException("User to delete not found " + dn); } // add for (LdapName dn : wc.getNewUsers().keySet()) { DirectoryUser user = wc.getNewUsers().get(dn); - if (Role.USER == user.getType()) + if (users.containsKey(dn) || groups.containsKey(dn)) + throw new UserDirectoryException("User to create found " + dn); + else if (Role.USER == user.getType()) users.put(dn, user); else if (Role.GROUP == user.getType()) groups.put(dn, (DirectoryGroup) user); -- 2.30.2