- LdapName dn;
- try {
- dn = LdapNameUtils.toLdapName(userDirectoryDn);
- for (int i = 1; i < segments.size(); i++) {
- dn.add(segments.get(i));
- }
- } catch (InvalidNameException e) {
- throw new IllegalStateException("Cannot interpret " + segments + " as DN", e);
- }
- User user = userManager.getUser(dn.toString());
+ List<String> relSegments = new ArrayList<>(segments);
+ relSegments.remove(0);
+ String pathWithinUserDirectory = ContentUtils.toPath(relSegments);
+// LdapName dn;
+// try {
+// dn = LdapNameUtils.toLdapName(userDirectoryDn);
+// for (int i = 1; i < segments.size(); i++) {
+// dn.add(segments.get(i));
+// }
+// } catch (InvalidNameException e) {
+// throw new IllegalStateException("Cannot interpret " + segments + " as DN", e);
+// }
+ User user = (User) userDirectory.getRoleByPath(pathWithinUserDirectory);